Я пытаюсь скомпилировать правильный файл Fortran 77, используя gfortran
компилятор. Я использую следующую команду для компиляции Фортрана:
gfortran -c main.f -o main-fortran.o -llapack -lblas
Мне также нужно связать это с программой на C ++, которая компилируется следующим образом:
g++ -c main.cpp -o main-cpp.o
Оба эти файла компилируются без каких-либо ошибок или предупреждений.
Однако я не могу связать их вместе в исполняемый файл. Вот команда, которую я использую:
g++ main-cpp.o main-fortran.o -o run.exe -lgfortran -llapack -lblas
Затем компоновщик выдает эту ошибку:
main-fortran.o: In function `main':
main.f:(.text+0x2e18): multiple definition of `main'
main-cpp.o:main.cpp:(.text+0x8e9): first defined here
collect2: ld returned 1 exit status
Вы можете найти исходные файлы здесь: C ++ а также Фортран 77.
Любая идея, что я могу сделать, чтобы преодолеть это?
У вас есть две основные программы: одна на C ++ и одна на Фортране. Удалить Фортран один из
Опция 1:
Первым битом вашей программы на Фортране должен быть сегмент BLOCK DATA. Просто добавь
BLOCK DATA INFO
В начале.
Вариант 2:
Удалите все до первого КОНЦА.
Других решений пока нет …