英特尔 Fortran 外部库链接问题

Intel Fortran External Library Linking Issue

我正在尝试创建一个使用两个不同库的 Fortran 项目。一个是静态库,一个是dll。静态库使用 default 调用约定。该 dll 使用 iface:cref 调用约定。如果我单独使用它们中的任何一个,通过更改调用约定项目设置一切都很好;但是,我似乎无法获得编译器选项来使用两者构建项目。有没有办法让这个工作?

使用英特尔 Fortran 2019 和 Visual Studio 2017。

https://software.intel.com/en-us/forums/intel-fortran-compiler/topic/844361 中有进一步讨论,但基本问题是,在 Windows 上,Intel Fortran 的默认设置是大写例程名称,但 /iface:cref 小写名称。我的建议是不要使用 /iface 等选项,而是使用 BIND(C,NAME=) 或指令来更改命名行为。