我想在Windows下编译Fortran 90(固定格式)库。但是,我无法理解预处理变量的错误。
Say the sample file is VF_TestPreprocessor.F:
program VF_TestPreprocessor
implicit Integer(A-Z)
Parameter (TestAlpha=22,TestBeta=TestGamma)
print *, TestBeta
end program VF_TestPreprocessor
在Linux下,我可以使用ifort VF_TestPreprocessor.F -DTestGamma=25
进行编译和运行。
但是,在Windows下,我无法使用ifort VF_TestPreprocessor.F /DTestGamma=25
进行编译。错误消息为error #6592: This symbol must be a defined parameter, an enumerator, or an argument of an inquiry function that evaluates to a compile-time constant. [TestGamma]
。你能帮忙分析一下这个错误吗?
答案 0 :(得分:1)
看起来ifort
没有运行预处理器。我没有使用ifort
的经验,但this page(Google ifort preprocessor
上的第一次点击)表示在Windows上,预处理程序仅在以{{1}扩展名结尾的文件上运行}。
所以,我想(至少)有两个解决方案:
.fpp
; .fpp
开关调用ifort。