2016-10-22 3 views
0

Я пытаюсь запустить программу, написанную на Fortran 77 в терминале на Mac. Я загрузил компилятор gfortran, но я не могу его компилировать. Когда я кладу в:Как запустить код Fortran 77 на Mac?

cd /path/to/file 
gfortran -o my_program my_program.f 

Я получаю следующее сообщение об ошибке:

Undefined symbols for architecture x86_64: 
    "_main", referenced from: 
    implicit entry/start for main executable 
ld: symbol(s) not found for architecture x86_64 
collect2: error: ld returned 1 exit status 

Я сделал некоторые исследования, и, похоже, он не может собрать, потому что моя программа не имеет основной функция. Есть ли способ обойти это? Я не хочу связываться с кодом, так как я не знаю Fortran.

Когда я запускаю файл в любом случае, терминал не распознает язык, поскольку он не интерпретирует синтаксис комментария как комментарии.

Любая помощь была бы принята с благодарностью!

+1

Как насчет «привет мир», например, то, так что каждый может просматривать код и ваши ошибки. Если у вас нет основного, тогда вам может понадобиться -c в строке компиляции. С чем вы хотите связать код? – Holmz

ответ

1

Начните с сохранения этого файла как hello_world.for и попробуйте его скомпилировать.

 PROGRAM Hello_World 
     IMPLICIT NONE 
!234567 
     WRITE(*,*)'Hello World' 
     END PROGRAM Hello_World 

После этого мы можем двигаться дальше.

У меня есть много кода без «основного». Обычно они попадают в библиотеку. В ifort это «-c» для компиляции только, probavly одинаково на gfort. Затем можно связать файлы .o с программой.

Это будет Somthing как

gfort -c -o somename.o samename.for 
+1

upvote просто компенсировать необъяснимое понижение. – agentp

+0

Это ничего не отвечает. Вы можете спросить в комментариях (и связать любой мир привет с SO или где-нибудь еще). –

+0

Я думаю, что комментарий содержал ответ, в частности, с точки зрения «скомпилировать, но не связывать» переключатель ... Я полагаю, что он мог связать свой существующий код с миром приветствия. – Holmz

Смежные вопросы