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

Другие вопросы по тегам