Eclipse Photran не компилирует исходные коды с расширением заглавной буквы
Насколько я понимаю из документации Photran, если исходный код Fortran имеет расширение с заглавными буквами, такое как F90 или F95, этот файл будет автоматически предварительно обработан при сборке. Но у меня это не сработало... Если я попытаюсь собрать проект только с одним файлом main.F90:
program main
#ifdef __linux__
print *,"Hello, world!"
#endif
end program
Тогда Фотран сказал бы: "Ничего не нужно строить для проекта ххх". Я пробовал с компиляторами Photran 8 (Eclipse Juno) и GNU для Windows и Linux, я также пробовал компилятор Intel Fortran для Linux, поэтому все они потерпели неудачу. Так что я думаю, что это связано с Eclipse. Также я могу подтвердить, что "Исходная форма" была установлена правильно, то есть *.F90 был установлен в "Свободная форма - C предварительно обработан". Любая помощь приветствуется.
1 ответ
Мне кажется, что Photran не понимает разницу между F90 и F90. Вы даже не можете переименовать main.f90 в main.F90 без Photran, чтобы жаловаться, что main.F90 уже существует.
Если вы теперь посмотрите на настройки рабочего пространства
в разделе Общие -> Типы содержимого | Текст -> Исходный файл Фортрана
Вы можете видеть, что в списке присутствуют только расширения файла в нижнем регистре, и вы даже не можете добавить его в верхний регистр, если его нижний регистр уже существует. Тем не менее, когда дело доходит до сборки, Photran различает строчные и прописные буквы и игнорирует F90-файлы.
Моим первым предположением было настроить f90-Files на "Свободную форму - C предварительно обработанный" в настройках проекта.
под Fortran General -> Исходные файлы,
но это, кажется, не имеет никакого эффекта.
В конце я добавил опцию -cpp к команде gfortran в настройках проекта
под Fortran Build -> Настройки | Компилятор GNU Fortran -> Разное.
Это говорит gfortran каждый раз запускать препроцессор. Теперь ваш пример работает как шарм - как main.f90.
Кажется, это сочетание нескольких ошибок, которые встречаются вместе.
PS: я использую Eclipse для разработчиков параллельных приложений, Juno Service Release 2 @ Ubuntu 12.04 LTS с компилятором GNU Fortran 4.6.3