CMake 开发人员建议添加一个虚拟 Fortran 文件来告诉 CMake 静态库需要与 Fortran 库链接(例如,在将 C 程序与 LAPACK 链接时)。
我的第一个想法是使用 empty dummy.f
。但是ifort 9.0 不会编译它。
什么是最小的可移植虚拟 Fortran 文件?
旧的英特尔编译器是唯一有空文件问题的编译器吗?
CMake 开发人员建议添加一个虚拟 Fortran 文件来告诉 CMake 静态库需要与 Fortran 库链接(例如,在将 C 程序与 LAPACK 链接时)。
我的第一个想法是使用 empty dummy.f
。但是ifort 9.0 不会编译它。
什么是最小的可移植虚拟 Fortran 文件?
旧的英特尔编译器是唯一有空文件问题的编译器吗?
GFortran 和 Absoft Fortran 的错误相同。实际上,您需要一个“程序”块来构建可执行文件。这个 dummy.f 可以工作:
program dummy
end
根据标准,“一个 Fortran 程序必须包含一个主程序,并且可以包含任意数量的其他类型的程序单元”。(参见 Adams 等人的“Fortran 95 手册”,第 2.1.1 节第 19 页)
或在标准 Fortran 95相同的第 2.2.1 节,第 12 页中:
A program consists of exactly one main program unit and any number
(including zero) of other kinds of program units. The set of program
units may include any combination of the different kinds of program
units in any order as long as there is only one main program unit.