将英特尔 Fortran 与 Microsoft Visual Studio 和 ANSYS Autodyn 连接起来

问题描述

我正在尝试在 ANSYS Autodyn 19.3 版中编写用户子程序。执行此操作的要求是 Visual Studio 2017 和 Intel Fortran 17.0.4 版。我无法访问这个旧版本的 Intel Fortran,但我下载了具有 Fortran 编译器的新 Intel oneAPI。

我没有更改任何环境变量或路径,我只是安装了 Visual Studio 和 intel fortran,并在安装过程中将它们集成在一起。

当我在 Visual Studio 中构建我的解决方案时,我会附上构建日志。它说它已成功构建,但我收到 219 个 LNK4099 错误

Buildlog1

Buildlog1

Buildlog2

Buildlog2

Buildlog3

Buildlog3

Buildlog4

Buildlog4

1>ad_usrsub - 0 error(s),219 warning(s)
========== Build: 2 succeeded,0 Failed,0 skipped ==========

我想知道这是否导致输出的可执行文件无法正确运行?

当我在 ANSYS Autodyn 中运行可执行文件时,没有任何反应让我认为这些警告正在起作用。

如果有人能帮助我,我将不胜感激。

谢谢

解决方法

警告对执行没有影响。它们出现是因为您的链接选项 /PDB 告诉链接器查找不存在的调试信息文件。您的屏幕截图截断了行,但我猜想您的编译命令指定将 PDB(程序数据库)文件放在其他地方。默认是在目标文件中包含该信息,但链接器在那里也找不到它。

唯一的伤害是调试应用程序的能力。

如果您展示了完整的编译和链接命令,我或许可以提供更多建议。如果您的编译命令有 /Zi,请将其删除,并从链接中删除 /PDB 选项。如果您不能这样做,请调整链接器 /PDB 选项以指向编译器放置 .pdb 文件的文件夹(我认为与 .obj 文件相同。)