Fortran 2008 - условная компиляция

Мне нужно использовать условную компиляцию в Fortran2008. До сих пор я нашел это решение, но оно у меня почему-то не работает, несмотря на компиляцию моего кода с флагом -cpp как это

gfortran  -Dconnection_m_EXPORTS -I/home/martin/4Neuro/build/lib  -O2 -std=f2008 -cpp -fPIC   -c /home/martin/4Neuro/src/connection_m.f90 -o CMakeFiles/connection_m.dir/connection_m.f90.o

Я все еще получаю эту ошибку

/home/martin/4Neuro/src/connection_m.f90:133:13:
             #ifdef TIME_PROFILING
             1
Error: Invalid character in name at (1)
/home/martin/4Neuro/src/connection_m.f90:136:13:

             #endif
             1
Error: Invalid character in name at (1)
/home/martin/4Neuro/src/connection_m.f90:143:13:

             #ifdef TIME_PROFILING
             1
Error: Invalid character in name at (1)
/home/martin/4Neuro/src/connection_m.f90:148:13:

             #endif
             1
Error: Invalid character in name at (1)

Знаете, что я делаю не так?

Моя версия gfortran: GNU Fortran (Ubuntu 6.2.0-5ubuntu12) 6.2.0 20161005 И мои файлы имеют расширение .f90.


comment
Это выглядит нормально для меня. Можете ли вы попытаться создать минимальный пример? Или опубликовать свой код?   -  person Ross    schedule 20.11.2017
comment
Обратите внимание, что # должен быть в столбце 1.   -  person Ross    schedule 20.11.2017
comment
@Ross Вы правы, проблема исчезла, когда я переместил директивы в начало строк ... Не могли бы вы написать свой комментарий в качестве ответа, чтобы я мог его принять?   -  person Eenoku    schedule 20.11.2017
comment
Интернет точки!   -  person Ross    schedule 20.11.2017


Ответы (1)


Директивы препроцессора с # должны иметь # в столбце 1.

person Ross    schedule 20.11.2017