用户登录

你在这里

将静态/动态库添加到Abaqus用户子例程

我想在我的umat中使用外部子程序,但到目前为止我还无法做到这一点。在Visual Studio 2008中创建了一个动态库项目,我创建了一个。dll和。lib文件,并将。lib文件复制到abaqus作业的工作目录中,将。dll文件复制到exec文件夹中。我还在LIB环境变量中添加了. LIB文件的目录。但是我从ABAQUS中得到这些错误:

[quote]链接:致命错误LNK1181:无法打开输入文件Dll2.lib
Abaqus错误:链接时出现问题- Abaqus/标准用户子程序。
此错误可能是由于Abaqus用户子例程参数不匹配造成的。
这些参数有时会随着版本的不同而改变,所以用户子例程
与以前版本的Abaqus一起使用可能需要进行调整。
Abaqus/Analysis出现错误退出

以下是我为dll .lib对环境文件abaqus_v6所做的更改:

link_sl='cmd /c "LINK /nologo /INCREMENTAL:NO /subsystem:console /machine:X86 /NODEFAULTLIB:LIBC. c "LIB / NODEFAULTLIB: LIBCMT。LIB / DEFAULTLIB: OLDNAMES。LIB / DEFAULTLIB: LIBIFCOREMD。LIB / DEFAULTLIB: LIBIFPORTMD。LIB / DEFAULTLIB: LIBMMD。LIB / DEFAULTLIB: MSVCRT。LIB / DEFAULTLIB: kernel32。lib / DEFAULTLIB: user32。lib / DEFAULTLIB: advapi32。lib /FIXED:NO /dll /def:%E /out:%U %F %A %B Dll2lib &&mt /manifest %U。manifest /outputresource:%U;2 && del %U.manifest"'

compile_fortran = [' ifort ', ' / c ', ' /通用',' /递归’,‘/不带标识的’,‘/ heap-arrays: 1’,‘/包括:%我’,‘Dll2.lib’)

退后一步,奇怪的是当我将.lib文件复制到另一个目录时,像这样:

link_sl='cmd /c "LINK /nologo /INCREMENTAL:NO /subsystem:console /machine:X86 /NODEFAULTLIB:LIBC. c "LIB / NODEFAULTLIB: LIBCMT。LIB / DEFAULTLIB: OLDNAMES。LIB / DEFAULTLIB: LIBIFCOREMD。LIB / DEFAULTLIB: LIBIFPORTMD。LIB / DEFAULTLIB: LIBMMD。LIB / DEFAULTLIB: MSVCRT。LIB / DEFAULTLIB: kernel32。lib / DEFAULTLIB: user32。lib / DEFAULTLIB: advapi32。lib /固定:没有/ dll / def: % E /: % U % F G: \ \ lib \ \ Dll2。lib %A %B &&mt /manifest %U。manifest /outputresource:%U;2 && del %U.manifest"'

compile_fortran = [' ifort ', ' / c ', ' /通用',' /递归’,‘/不带标识的’,‘/ heap-arrays: 1’,‘/包括:%我’,‘G: \ \ lib \ \ Dll2.lib’)

我得到这个错误,这意味着编译器或链接器不识别我认为的。lib文件:

创建图书馆标准。lib和object standard .exp
aba_test。obj:错误LNK2019:未解析的外部符号_IDENTITY@8在函数_UMAT中引用
dll:致命错误LNK1120: 1个未解析的外部
Abaqus错误:链接时出现问题- Abaqus/标准用户子程序。
此错误可能是由于Abaqus用户子例程参数不匹配造成的。
这些参数有时会随着版本的不同而改变,所以用户子例程
与以前版本的Abaqus一起使用可能需要进行调整。
Abaqus/Analysis错误退出

其中子程序恒等式是我在每个子程序中使用的。如果你们都能帮助我,我会很感激的。你能介绍一个详细解释这个过程的来源吗?谢谢你!

我使用的是英特尔11.1.048版本,VS2008和Abaqus 6.11。我还在两个子程序UMAT和IDENTITY中处理了!dec$语句。

评论

brunda的照片

为什么不能在主UMAT文件中包含Identity子例程?

订阅“向Abaqus用户子例程添加静态/动态库”的评论

最近的评论

更多的评论

辛迪加

认购辛迪加