英特尔 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=)
或指令来更改命名行为。
我正在尝试创建一个使用两个不同库的 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=)
或指令来更改命名行为。