为什么无法在ABAQUS子例程中调用MKL-FFTW3库

问题描述 投票:0回答:1

我在https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/720340的ABAQUS子例程中找到了一种调用MKL库的方法。我按照方法添加

compile_fortran=[...'/Qmkl:sequential'...]

它与degsv等常规MKL库一起很好地工作。但是当我要调用MKL-FFTW3库,ABAQUS显示错误,我检查日志文件,错误如下

Intel(R) Visual Fortran Intel(R) 64 Compiler for applications running on 
Intel(R) 64, Version 19.0.1.144 Build 20181018
Copyright (C) 1985-2018 Intel Corporation.  All rights reserved.

End Compiling Abaqus/Standard User Subroutines
Begin Linking Abaqus/Standard User Subroutines
building library object standardU.lib and object standardU.exp
fft_elastic_subroutine.obj : error LNK2019: unresolved external symbol dfftw_plan_dft_3d,referenced in function fft3.R
fft_elastic_subroutine.obj : error LNK2019: unresolved external symbol dfftw_execute_dft,referenced in function fft3.R
fft_elastic_subroutine.obj : error LNK2019: unresolved external symbol dfftw_destroy_plan,referenced in function fft3.R
standardU.dll : fatal error LNK1120: 3 unresolved external symbols
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.

我使用了Visual Studio 2017,Intel Visual Fortran 2019,ABAQUS 2019。

感谢您的帮助。

fortran linker-errors fftw intel-mkl abaqus
1个回答
0
投票

所有这些FFTW3接口都集成到了英特尔MKL中。它们在英特尔®64体系结构的mkl_intel_ilp64.lib,mkl_intel_ilp64_dll.lib mkl_intel_lp64.lib,mkl_intel_lp64_dll.lib和mkl_rt.lib中定义。

您可以按照MKL Linker Adviser提示尝试与MKL手动链接。

© www.soinside.com 2019 - 2024. All rights reserved.