0

我已经获得了可爱的 fortran 和 c 代码网格程序。为了使该程序能够编译,它需要一系列从软件供应商处预编译的库。这包括英特尔 MKL、MPICH2 等。在 linux 上一切正常。但是在Windows上我被卡住了:

使用命令行,我可以通过以下两种方式使用 ifort 编译程序:
[ A ] ifort /Qlowercase /assume:underscore .......
[ B ] ifort /Quppercase /assume:nounderscore .... ……

如果我决定使用选项A,我会得到一系列缺失的符号,因为一些外部库是使用大写的下划线编译的,我无法解析这些符号。同样,如果我使用选项B,其他外部库会抱怨,因为它们是使用带下划线的小写字母编译的。

有没有办法在链接状态期间重新映射符号/功能?有没有其他选择?

4

1 回答 1

1

如果在 Fortran 源代码中使用 ISO C 绑定,则可以准确指定要调用的 C 例程的名称。包括或不包括下划线,视具体例程而定。“绑定名称”也区分大小写,因此您还可以控制例程名称的这方面。然后使用编译器选项,以便编译器不会进一步更改名称。

于 2010-09-28T20:37:47.680 回答