使用 IFORT 并使用在 Microsoft Visual Studio 中编译的目标文件(即 .lib)编译 Fortran 程序

标签 c visual-studio fortran intel-fortran

我有一个基本问题,即使在网络上搜索多次也找不到答案。

是否可以通过使用(作为依赖项)由 Microsoft Visual Studio C 编译的目标文件(即 .lib)的 IFORT 来编译 Fortran 程序?

最佳答案

是的,这是可能的,而且相当容易。您有多种选择来执行此操作:

  • 将 MSVC 库项目添加到 Fortran Visual Studio 解决方案中,然后使用“项目”>“依赖项”将 C 项目添加为 Fortran 项目的依赖项 *如果 C 项目创建 DLL,则该项目不起作用)
  • 将 C 项目中的 .lib 添加到 Fortran 项目中,就好像它是源文件一样
  • 在“链接器”>“输入”>“附加依赖项”项目属性中命名 C .lib。

我通常推荐第一个选择,因为这意味着您不必为调试和发布项目的不同设置而烦恼。您确实需要确保构建 C 库以指定与 Fortran 项目相同的运行时库类型(调试与非调试、DLL 与静态)。这位于 C 的代码生成属性页中。

Intel Parallel Studio XE for Windows Sample Bundle 中有一个有效的示例“Fortran Calls C” .

您还需要了解如何从 Fortran 调用 C 过程,并确保 C 参数具有兼容的 Fortran 类型。如果您利用 Fortran 标准的“C 互操作性”功能,效果最佳。

关于使用 IFORT 并使用在 Microsoft Visual Studio 中编译的目标文件(即 .lib)编译 Fortran 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52609264/

相关文章:

c - 数百万 UINT64 RGBZ 图形像素的最快排序算法

c - 在十六进制中搜索特定字节

C函数删除字符串

compilation - f951 错误 : unrecognized command line option

fortran - 将具有派生类型作为参数的函数作为 Fortran 中的参数传递

c - SDL2_mixer 在 mac 上初始化失败(运行时)

visual-studio - 是否可以在 Visual Studio 解决方案中引用不同的 NuGet 包版本?

c# - Visual Studio 警告级别的含义?

visual-studio - 检查应用程序是否从 Visual Studio 调试 session 中启动

fortran - Fortran 语言中 (/.../) 的含义是什么