Ниже приведен игрушечный пример файлов C / Fortran, которые я хочу скомпилировать вместе.
Файл C
void testfunc();
int main(void)
{
testfunc();
}
Файл Fortran
subroutine testfunc() bind (C, name = "testfunc")
write(*,*) "Hello World!"
end subroutine
Используя gcc, я могу сгенерировать двоичный файл с помощью команды
gfortran -o my_prog main.c testfunc.f90
Однако, когда я пытаюсь сделать то же самое с pgf90
pgf90 -o my_prog main.c testfunc.f90
, я получаю следующее сообщение об ошибке:
main.obj : error LNK2005: main already defined in f90main.obj
f90main.obj : error LNK2019: unresolved external symbol MAIN_ referenced in function main
Существует ли стандартная процедура компиляции C + Fortran с pgi в Windows?