繁体   English   中英

使用 VS2015 在 Windows 10 上构建 Fortran .lib x64 位并将其链接到 C++

[英]build Fortran .lib x64 bit on windows 10 using VS2015 and link it to C++

我正在使用 VS2015 构建一个 c++ 和 Fortran 混合程序,这在 windows 7 上非常好。首先构建了 Fortran XXX.lib,然后链接到 C++ XXX_main(构建依赖项 -> 项目依赖项)。 现在我正在尝试使用目标计算机 x64 将其迁移到 Windows 10,但仍在使用 VS2015 并且存在编译错误,我在搜索数周后找不到解决方案。

以下是编译信息:

------ Neues Erstellen gestartet: Projekt: XXX, Konfiguration: Debug x64 ------
1>Deleting intermediate files and output files for project 'XXX', configuration 'Debug|x64'.
1>Compiling with Intel(R) Visual Fortran Compiler 19.0.5.281 [Intel(R) 64]...
1>scout2d.f
1>E:\test\src\scout2d.f(74): error #8110: The module file for compiler-generated interface was generated for a different platform or by an incompatible compiler or compiler release. It cannot be read. Use -gen-interfaces option.   [XGET__GENMOD]
1>fortcom: Fatal: There has been an internal compiler error (C0000005).
1>compilation aborted for E:\test\src\scout2d.f (code 1)
...........
1>scp_lib - 82 error(s), 18 warning(s)
1>XXX - 82 error(s), 18 warning(s)
2>------ Neues Erstellen gestartet: Projekt: XXX_main, Konfiguration: Debug x64 ------
...........
2>  XXX_main.vcxproj -> E:\test\x64\Debug\XXX_main.exe
2>  XXX_main.vcxproj -> E:\test\x64\Debug\/XXX_main.pdb (Full PDB)
========== Alles neu erstellen: 1 erfolgreich, 1 fehlerhaft, 0 übersprungen ==========

源文件当然与 Windows 7 上的相同。以下是我在 Windows 10 上使用 VS2015 对 x64 系统所做的或尝试的更改。 欢迎任何建议。 谢谢!

  1. XXX_main 项目属性 -> 链接器 -> 输入 -> 附加依赖项和库:与之前相同
  2. XXX_main 项目属性 -> C++ -> 包含文件夹:与之前相同
  3. XXX_main 项目属性 -> 链接器 -> 高级 -> 目标计算机:将 MachineX84 更改为 MachineX64
  4. 配置管理器 -> 平台:x64
  5. 选项 -> Intel Compilers and tools -> C++ -> Compilers: 将 win32 改为 x64
  6. Option -> Intel Compilers and tools ->Visual Fortran -> Compilers -> Includes: add $(IFORT_COMPILER15)\\compiler\\include -> Libraries: add $(IFORT_COMPILER15)\\compiler\\lib\\intel64
  7. 卸载和重新安装 Fortran 编译器,当前版本为: Intel(R) Visual Fortran Intel(R) 64 Compiler for Applications running on Intel(R) 64, version 19.0.5
  8. 卸载重装Visual Studio 2015,当前版本为14.0.25431.01
    更新 3
  9. Fortran XXX 项目属性 -> 库 -> 输出:x64\\Debug\\XXX.lib

我找到了解决方案。 这是我所做的:

  1. 卸载 Intel Fortran Compiler(重启 PC)并重新安装(重启 PC)
  2. 右键单击 Fortran 项目 XXX -> 属性 -> Fortran -> 外部过程 -> 调用约定:将其更改为 CVF (/iface:cvf)。
  3. 右键C++项目XXX_main -> Properties -> VC++ Folders -> Library folders:添加Fortran编译器路径$(IFORT_COMPILER19)\\compiler\\lib\\intel64

无论如何感谢您的帮助。 此致

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM