2

我将 Abaqus 2020 链接到 Intel oneAPI ifort 编译器,它运行正常,直到我遇到这个问题。当我尝试使用/iface:cref. 有什么快速解决问题的方法。我使用 VS 2019 进行编译。错误说明如下

Begin Linking Abaqus/Standard User Subroutines
Creating library standardU.lib and object standardU.exp
swell.obj : error LNK2019: unresolved external symbol ROTSIG referenced in function umat.R
standardU.dll : fatal error LNK1120: 1 unresolved externals
Abaqus Error: Problem during linking - Abaqus/Standard User Subroutines.
This error may be due to a mismatch in the Abaqus user subroutine arguments.
These arguments sometimes change from release to release, so user subroutines
used with a previous release of Abaqus may need to be adjusted.
Abaqus/Analysis exited with errors
4

1 回答 1

2

此问题主要由依赖 /iface:cref 和 oneAPI ifort 编译器版本 2021.1.1、2021.1.2 和 2021.2 的 Abaqus 和其他 Windows 用户面临。

此问题的原因是 /iface:cref 应将所有名称(过程、数据)设置为 LOWERCASE,但这并没有发生。因此,名称在目标文件和库中默认为大写。因此,当 Abaqus 和其他程序在链接时查找您的函数时,引用将无法解析

我可以使用选项 /names:lowercase 解决这个问题。

/iface:cref /名称:小写

在 VS 项目属性中,它位于:Fortran -> 外部过程 -> 名称案例解释 -> “小写 (/names:lowercase)

于 2021-06-07T07:00:13.500 回答