【发布时间】:2017-12-27 10:13:14
【问题描述】:
我正在尝试将一些旧版 Fortran 代码与 Visual Studio C++ 项目链接。我尝试使用 gfortran 的 Windows 构建来构建我的静态库,但 Visual Studio 抱怨未解析的外部符号。我猜这是因为混合 mingw 和 Visual Studio 编译器是一个可怕的想法。
我用谷歌搜索了一下,我看到我的选择是 Intel's 和 Lahey's 编译器,但两者都带有高昂的价格标签。
有没有人知道其他选择,或者我可以采取的不同方法?
针对评论进行编辑
我得到的错误是:
错误 7 错误 LNK2019:未解决 引用的外部符号 ___chkstk 在函数 fmm
四处搜索让我找到了this,这似乎是个坏主意。
【问题讨论】:
-
Visual C++ 可以链接到其他编译器的 DLL,那么您遇到的错误究竟是什么?它们是来自运行时库还是
_your_fortran_function或重命名的函数? -
我支持向我们展示错误的建议。 Fortran 编译器通常使用下划线命名-mangle 例程名称,以避免与 C 例程冲突。您可能需要覆盖它以结合 Fortran 和 C/C++。最近的一个相关问题:stackoverflow.com/questions/1985819/gfortran-dll-underscore
-
@Pete 和 @M.S.B,请参阅上面的编辑,感谢您的关注。
标签: c++ visual-studio fortran