我正在尝试编译一些 Fortran 代码,根据文档,这些代码已知可以使用“Intel Fortran Compiler 11”进行编译。但是,当我尝试使用 Intel® Fortran Composer XE 2013 for OS X 附带的 ifort 版本(此处:http://software.intel.com/en-us/fortran-compilers)编译代码时,我得到一些错误。我怀疑我是 1) 使用的编译器与使用的 Fortran 的确切方言不兼容和/或 2) 没有包含一些必要的库。
我不是 Fortran 程序员,所以我希望有更多经验的人能够浏览代码并识别这是否只是使用不同编译器的简单问题,设置一些编译器选项,包括一些特定的库,或者如果我完全错过了其他东西。
完整的源代码可以在目录上方找到:http: //baydeltaoffice.water.ca.gov/modeling/deltamodeling/models/dsm2/dsm2.cfm
首先,我只是尝试在 /DSM2_v8_0_6_src/dsm2_v8_0/src/common 中编译 groups.f (这需要先编译一些其他模块),但最终目标是编译 DSM2_v8_0_6_src/dsm2_v8_0/src/ptm /native/fixedData.f 及其所有依赖项。
我使用的语法遵循这个基本模式:
ifort -c DSM2_v8_0_6_src/dsm2_v8_0/src/common/groups.f
为了了解我遇到的错误类型,这里有几种重复出现的类型:
groups.f(225): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of:
( * ) :: , . % + - [ : . ** / // .LT. < .LE. <= .EQ. == ...
write(unit_error,*)"Error in matching text pattern:",trim(pattern)
---------------------------------------------------------------------^
groups.f(265): error #5120: Unterminated character constant
& "Error in pattern matching. Implementation count does not equal count in NumberMatches"
------^