【发布时间】:2017-11-20 17:28:11
【问题描述】:
我需要在 Fortran2008 中使用条件编译。到目前为止,我已经找到了 this solution,但它对我不起作用,尽管使用 -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。
【问题讨论】:
-
这对我来说看起来不错。你能尝试创建一个最小的例子吗?或者发布你的代码?
-
请注意,
#必须在第 1 列中。 -
@Ross 你说得对,当我将指令移到行首时,问题就消失了......请你写下你的评论作为答案,这样我可以接受吗?
-
上网点!
标签: fortran c-preprocessor gfortran conditional-compilation preprocessor-directive