从英特尔MKL调用功能时,Matlab崩溃

我正在尝试使用Fortran函数将Matlab代码与Mex链接。我可以使用以下指令成功编译并链接代码:

mex COMPflaGS="$COMPflaGS -Qopenmp -Qmkl"...
'-IC:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\include'...
'-LC:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\lib\intel64'...
-lmkl_intel_ilp64.lib -lmkl_intel_thread.lib -lmkl_core.lib libiomp5md.lib...
ero_dep_fortran.F Module.F prepare_bank_collapse.F LINEAR_ELASTIC_STIFFnesS.F FAILURE_CRITERION.F OUTPUT.F pardisonew.F

但是,当我执行生成的.mexw64函数时,Matlab崩溃而没有任何错误信息。然后我逐行调试Fortran代码,发现调用英特尔MKL库中的函数Matlabpardiso崩溃。看来,从MKL调用功能时,Matlab将崩溃,而我不知道如何解决它。 任何建议将不胜感激。

PS:感谢@Evg的帮助。最后,以下指令有效:

mex COMPflaGS="$COMPflaGS -Qopenmp"...
'-IC:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\include'...
'-LC:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\lib\intel64'...
-lmkl_intel_ilp64.lib -lmkl_intel_thread.lib -lmkl_core.lib libiomp5md.lib...
ero_dep_fortran.F Module.F prepare_bank_collapse.F LINEAR_ELASTIC_STIFFnesS.F FAILURE_CRITERION.F OUTPUT.F pardisonew.F

以前的添加: 我也尝试使用makefile在Intel Parallel Studio XE 2017编译器上运行代码,

ifort Module.F OUTPUT.F FAILURE_CRITERION.F pardisonew.F LINEAR_ELASTIC_STIFFnesS.F prepare_bank_collapse.F ero_dep_fortran.F /Qopenmp /Qmkl /nostandard-realloc-lhs /MD -o BANK_COLLAPSE.exe

生成的.exe有效。因此,问题不是由于代码本身或英特尔MKL库中的函数pardiso引起的。我想Matlab调用pardiso时出了点问题,尽管它“似乎”成功链接了。

我将Matlab 2019b和Intel Parallel Studio XE 2017 for Fortran与microsoft Visual Studio 2015一起使用来编译和链接代码。

使用-v选项编译mex后的完整输出为

Verbose mode is on.
... Looking for compiler 'Intel Parallel Studio XE 2017 for Fortran with microsoft Visual Studio 2015' ...
... Looking for environment variable 'IFORT_COMPILER17' ...Yes ('C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\').
... Looking for file 'C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\Bin\intel64\ifort.exe' ...Yes.
... Looking for folder 'C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows' ...Yes.
... Looking for registry setting 'HKLM\SOFTWARE\microsoft\VisualStudio\SxS\VS7' 14.0 ...No.
... Looking for registry setting 'HKCU\SOFTWARE\microsoft\VisualStudio\SxS\VS7' 14.0 ...No.
... Looking for registry setting 'HKLM\SOFTWARE\Wow6432Node\microsoft\VisualStudio\SxS\VS7' 14.0 ...Yes ('C:\Program Files (x86)\microsoft Visual Studio 14.0\').
... Looking for file 'C:\Program Files (x86)\microsoft Visual Studio 14.0\VC\bin\amd64\cl.exe' ...Yes.
... Looking for folder 'C:\Program Files (x86)\microsoft Visual Studio 14.0\VC' ...Yes.
... Looking for registry setting 'HKLM\SOFTWARE\microsoft\microsoft SDKs\Windows\v8.1' InstallationFolder ...No.
... Looking for registry setting 'HKCU\SOFTWARE\microsoft\microsoft SDKs\Windows\v8.1' InstallationFolder ...No.
... Looking for registry setting 'HKLM\SOFTWARE\Wow6432Node\microsoft\microsoft SDKs\Windows\v8.1' InstallationFolder ...Yes ('C:\Program Files (x86)\Windows Kits\8.1\').
... Looking for registry setting 'HKLM\SOFTWARE\microsoft\Windows Kits\Installed Roots' Kitsroot10 ...Yes ('C:\Program Files (x86)\Windows Kits\10\').
Found installed compiler 'Intel Parallel Studio XE 2017 for Fortran with microsoft Visual Studio 2015'.
Set PATH = C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\bin\intel64;C:\Program Files (x86)\microsoft Visual Studio 14.0\VC\bin\amd64;C:\Program Files (x86)\microsoft Visual Studio 14.0\VC\bin\VCPackages;C:\Program Files (x86)\microsoft Visual Studio 14.0\VC\..\Common7\IDE;C:\Program Files (x86)\microsoft Visual Studio 14.0\VC\..\Common7\Tools;C:\Program Files (x86)\Windows Kits\8.1\\bin\x64;C:\Program Files (x86)\Windows Kits\8.1\\Bin\x86;;C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mpi\intel64\bin;C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.4.210\windows\mpi\intel64\bin;C:\Program Files (x86)\Common Files\Intel\Shared libraries\redist\intel64_win\mpirt;C:\Program Files (x86)\Common Files\Intel\Shared libraries\redist\ia32_win\mpirt;C:\Program Files (x86)\Common Files\Intel\Shared libraries\redist\intel64_win\compiler;C:\Program Files (x86)\Common Files\Intel\Shared libraries\redist\ia32_win\compiler;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files\Intel\Intel(R) Management Engine Components\iCLS\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Intel\WiFi;C:\Users\zk1357\AppData\Local\microsoft\WindowsApps;C:\Users\zk1357\AppData\Roaming\npm;C:\Delft3D\w32\lib;C:\PROGRA~1\Deltares\w32\lib;C:\Program Files\TortoiseSVN\bin;C:\Program Files\MATLAB\MATLAB Compiler Runtime\v82\runtime\win64;"C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Windows\SysWOW64";C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\WINDOWS\system32;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Polyspace\R2019b\runtime\win64;C:\Program Files\Polyspace\R2019b\bin;C:\Program Files\Polyspace\R2019b\polyspace\bin;C:\Users\zk1357\AppData\Local\microsoft\WindowsApps;C:\Users\zk1357\AppData\Roaming\npm;"C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem";C:\Program Files (x86)\IntelSWTools\parallel_studio_xe_2017.5.060\compilers_and_libraries_2017\windows\bin\intel64;C:\Users\zk1357\iRIC\guis\prepost;
Set INCLUDE = C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\include;C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\compiler\include;C:\Program Files (x86)\microsoft Visual Studio 14.0\VC\INCLUDE;C:\Program Files (x86)\microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE;C:\Program Files (x86)\Windows Kits\10\\include\10.0.10150.0\ucrt;C:\Program Files (x86)\Windows Kits\8.1\\include\shared;C:\Program Files (x86)\Windows Kits\8.1\\include\um;C:\Program Files (x86)\Windows Kits\8.1\\include\winrt;C:\Program Files\Polyspace\R2019b\extern\include;;C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\include;C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\compiler\include;C:\Program Files (x86)\microsoft Visual Studio 14.0\VC\INCLUDE;C:\Program Files (x86)\microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE;C:\Program Files (x86)\Windows Kits\10\\include\10.0.10150.0\ucrt;C:\Program Files (x86)\Windows Kits\8.1\\include\shared;C:\Program Files (x86)\Windows Kits\8.1\\include\um;C:\Program Files (x86)\Windows Kits\8.1\\include\winrt;C:\Program Files\Polyspace\R2019b\extern\include;;
Set LIB = C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\lib\intel64;C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\compiler\lib\intel64;C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\compiler\lib\intel64_win;C:\Program Files (x86)\microsoft Visual Studio 14.0\VC\Lib\amd64;C:\Program Files (x86)\microsoft Visual Studio 14.0\VC\ATLMFC\Lib\amd64;C:\Program Files (x86)\Windows Kits\10\\Lib\10.0.10150.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\8.1\\lib\winv6.3\um\x64;C:\Program Files\Polyspace\R2019b\lib\win64;C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\lib\intel64;C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\compiler\lib\intel64;C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\compiler\lib\intel64_win;C:\Program Files (x86)\microsoft Visual Studio 14.0\VC\Lib\amd64;C:\Program Files (x86)\microsoft Visual Studio 14.0\VC\ATLMFC\Lib\amd64;C:\Program Files (x86)\Windows Kits\10\\Lib\10.0.10150.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\8.1\\lib\winv6.3\um\x64;C:\Program Files\Polyspace\R2019b\lib\win64;
Set LIBPATH = C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\compiler\Lib\Intel64;C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\compiler\lib\intel64_win;C:\Program Files (x86)\Windows Kits\8.1\\LIB\x64;C:\Program Files (x86)\microsoft Visual Studio 14.0\VC\LIB\amd64;C:\Program Files (x86)\microsoft Visual Studio 14.0\VC\ATLMFC\LIB\amd64;C:\Program Files\Polyspace\R2019b\extern\lib\win64;;C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\compiler\Lib\Intel64;C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\compiler\lib\intel64_win;C:\Program Files (x86)\Windows Kits\8.1\\LIB\x64;C:\Program Files (x86)\microsoft Visual Studio 14.0\VC\LIB\amd64;C:\Program Files (x86)\microsoft Visual Studio 14.0\VC\ATLMFC\LIB\amd64;C:\Program Files\Polyspace\R2019b\extern\lib\win64;;
Options file details
-------------------------------------------------------------------
    Compiler location: C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows
    Options file: C:\Users\zk1357\AppData\Roaming\MathWorks\MATLAB\R2019b\mex_FORTRAN_win64.xml
    CMDLINE200 : link  /nologo /manifest /INCREMENTAL:NO /DLL   /EXPORT:MEXFUNCTION /EXPORT:MEXFILEREQUIREDAPIVERSION C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\ero_dep_fortran.obj C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\Module.obj C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\prepare_bank_collapse.obj C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\LINEAR_ELASTIC_STIFFnesS.obj C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\FAILURE_CRITERION.obj C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\OUTPUT.obj C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\pardisonew.obj C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\fortran_mexapi_version.obj  "/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\lib\intel64"   /LIBPATH:"C:\Program Files\Polyspace\R2019b\extern\lib\win64\microsoft" libmx.lib libmex.lib libmat.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib  ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /out:ero_dep_fortran.mexw64
    CMDLINE250 : mt -outputresource:ero_dep_fortran.mexw64;2 -manifest "ero_dep_fortran.mexw64.manifest"
    CMDLINE300 : del "ero_dep_fortran.exp" "ero_dep_fortran.lib" "ero_dep_fortran.mexw64.manifest" "ero_dep_fortran.ilk"
    COMPILER : ifort
    COMPflaGS : /nologo /fpp /Qprec /MD /fp:source /assume:bscc -I"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\include"  -I"C:\Program Files\Polyspace\R2019b\extern\include"  /DMATLAB_DEFAULT_RELEASE=R2017b  /DUSE_MEX_CMD   /DMATLAB_MEX_FILE -Qopenmp -Qmkl /integer-size:64
    COMPDEFInes : /DMATLAB_DEFAULT_RELEASE=R2017b  /DUSE_MEX_CMD   /DMATLAB_MEX_FILE
    OPTIMflaGS : /O2 /DNDEBUG
    INCLUDE : -I"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\include"  -I"C:\Program Files\Polyspace\R2019b\extern\include"
    DEBUGflaGS : /Z7
    LINKER : link
    LINKflaGS :  /nologo /manifest /INCREMENTAL:NO
    LINKTYPE : /DLL
    LINKEXPORT :  /EXPORT:MEXFUNCTION
    LINKEXPORTVER :  /EXPORT:MEXFUNCTION /EXPORT:MEXFILEREQUIREDAPIVERSION
    LINKLIBS : "/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\lib\intel64"   /LIBPATH:"C:\Program Files\Polyspace\R2019b\extern\lib\win64\microsoft" libmx.lib libmex.lib libmat.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib  ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
    LINKDEBUGflaGS : /debug /PDB:"ero_dep_fortran.mexw64.pdb"
    LINKOPTIMflaGS : 
    OBJEXT : .obj
    LDEXT : .mexw64
    SETENV : set COMPILER=ifort
                set COMPflaGS=/c /nologo /fpp /Qprec /MD /fp:source /assume:bscc -I"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\include"  -I"C:\Program Files\Polyspace\R2019b\extern\include"  /DMATLAB_DEFAULT_RELEASE=R2017b  /DUSE_MEX_CMD   /DMATLAB_MEX_FILE -Qopenmp -Qmkl /integer-size:64 /DMATLAB_DEFAULT_RELEASE=R2017b  /DUSE_MEX_CMD   /DMATLAB_MEX_FILE $MATLABMEX
                set OPTIMflaGS=/O2 /DNDEBUG
                set DEBUGflaGS=/Z7
                set LINKER=link
                set LINKflaGS= /nologo /manifest /INCREMENTAL:NO /export:%ENTRYPOINT% /DLL "/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\lib\intel64"   /LIBPATH:"C:\Program Files\Polyspace\R2019b\extern\lib\win64\microsoft" libmx.lib libmex.lib libmat.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib  ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib  /EXPORT:MEXFUNCTION
                set LINKDEBUGflaGS=/debug /PDB:"%OUTDIR%%MEX_NAME%.mexw64.pdb"
                set NAME_OUTPUT=/out:"%OUTDIR%%MEX_NAME%%MEX_EXT%"
    FORTRANROOT : C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows
    VCROOT : C:\Program Files (x86)\microsoft Visual Studio 14.0\VC
    SDKROOT : C:\Program Files (x86)\Windows Kits\8.1\
    KItsrOOT : C:\Program Files (x86)\Windows Kits\10\
    MATLABROOT : C:\Program Files\Polyspace\R2019b
    ARCH : win64
    SRC : "C:\Users\zk1357\Desktop\Evolution_Code_Doubon\ero_dep_fortran.F";"C:\Users\zk1357\Desktop\Evolution_Code_Doubon\Module.F";"C:\Users\zk1357\Desktop\Evolution_Code_Doubon\prepare_bank_collapse.F";"C:\Users\zk1357\Desktop\Evolution_Code_Doubon\LINEAR_ELASTIC_STIFFnesS.F";"C:\Users\zk1357\Desktop\Evolution_Code_Doubon\FAILURE_CRITERION.F";"C:\Users\zk1357\Desktop\Evolution_Code_Doubon\OUTPUT.F";"C:\Users\zk1357\Desktop\Evolution_Code_Doubon\pardisonew.F";"C:\Program Files\Polyspace\R2019b\extern\version\fortran_mexapi_version.F"
    OBJ : C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\ero_dep_fortran.obj;C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\Module.obj;C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\prepare_bank_collapse.obj;C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\LINEAR_ELASTIC_STIFFnesS.obj;C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\FAILURE_CRITERION.obj;C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\OUTPUT.obj;C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\pardisonew.obj;C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\fortran_mexapi_version.obj
    OBJS : C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\ero_dep_fortran.obj C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\Module.obj C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\prepare_bank_collapse.obj C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\LINEAR_ELASTIC_STIFFnesS.obj C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\FAILURE_CRITERION.obj C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\OUTPUT.obj C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\pardisonew.obj C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\fortran_mexapi_version.obj 
    SRCROOT : C:\Users\zk1357\Desktop\Evolution_Code_Doubon\ero_dep_fortran
    DEF : C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\ero_dep_fortran.def
    EXP : "ero_dep_fortran.exp"
    LIB : "ero_dep_fortran.lib"
    EXE : ero_dep_fortran.mexw64
    ILK : "ero_dep_fortran.ilk"
    MANIFEST : "ero_dep_fortran.mexw64.manifest"
    TEMPNAME : ero_dep_fortran
    EXEDIR : 
    EXENAME : ero_dep_fortran
    OPTIM : /O2 /DNDEBUG
    LINKOPTIM : 
    CMDLINE100_0 : ifort /c /nologo /fpp /Qprec /MD /fp:source /assume:bscc -I"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\include"  -I"C:\Program Files\Polyspace\R2019b\extern\include"  /DMATLAB_DEFAULT_RELEASE=R2017b  /DUSE_MEX_CMD   /DMATLAB_MEX_FILE -Qopenmp -Qmkl /integer-size:64 /O2 /DNDEBUG "C:\Users\zk1357\Desktop\Evolution_Code_Doubon\ero_dep_fortran.F" /FoC:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\ero_dep_fortran.obj
    CMDLINE100_1 : ifort /c /nologo /fpp /Qprec /MD /fp:source /assume:bscc -I"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\include"  -I"C:\Program Files\Polyspace\R2019b\extern\include"  /DMATLAB_DEFAULT_RELEASE=R2017b  /DUSE_MEX_CMD   /DMATLAB_MEX_FILE -Qopenmp -Qmkl /integer-size:64 /O2 /DNDEBUG "C:\Users\zk1357\Desktop\Evolution_Code_Doubon\Module.F" /FoC:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\Module.obj
    CMDLINE100_2 : ifort /c /nologo /fpp /Qprec /MD /fp:source /assume:bscc -I"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\include"  -I"C:\Program Files\Polyspace\R2019b\extern\include"  /DMATLAB_DEFAULT_RELEASE=R2017b  /DUSE_MEX_CMD   /DMATLAB_MEX_FILE -Qopenmp -Qmkl /integer-size:64 /O2 /DNDEBUG "C:\Users\zk1357\Desktop\Evolution_Code_Doubon\prepare_bank_collapse.F" /FoC:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\prepare_bank_collapse.obj
    CMDLINE100_3 : ifort /c /nologo /fpp /Qprec /MD /fp:source /assume:bscc -I"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\include"  -I"C:\Program Files\Polyspace\R2019b\extern\include"  /DMATLAB_DEFAULT_RELEASE=R2017b  /DUSE_MEX_CMD   /DMATLAB_MEX_FILE -Qopenmp -Qmkl /integer-size:64 /O2 /DNDEBUG "C:\Users\zk1357\Desktop\Evolution_Code_Doubon\LINEAR_ELASTIC_STIFFnesS.F" /FoC:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\LINEAR_ELASTIC_STIFFnesS.obj
    CMDLINE100_4 : ifort /c /nologo /fpp /Qprec /MD /fp:source /assume:bscc -I"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\include"  -I"C:\Program Files\Polyspace\R2019b\extern\include"  /DMATLAB_DEFAULT_RELEASE=R2017b  /DUSE_MEX_CMD   /DMATLAB_MEX_FILE -Qopenmp -Qmkl /integer-size:64 /O2 /DNDEBUG "C:\Users\zk1357\Desktop\Evolution_Code_Doubon\FAILURE_CRITERION.F" /FoC:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\FAILURE_CRITERION.obj
    CMDLINE100_5 : ifort /c /nologo /fpp /Qprec /MD /fp:source /assume:bscc -I"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\include"  -I"C:\Program Files\Polyspace\R2019b\extern\include"  /DMATLAB_DEFAULT_RELEASE=R2017b  /DUSE_MEX_CMD   /DMATLAB_MEX_FILE -Qopenmp -Qmkl /integer-size:64 /O2 /DNDEBUG "C:\Users\zk1357\Desktop\Evolution_Code_Doubon\OUTPUT.F" /FoC:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\OUTPUT.obj
    CMDLINE100_6 : ifort /c /nologo /fpp /Qprec /MD /fp:source /assume:bscc -I"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\include"  -I"C:\Program Files\Polyspace\R2019b\extern\include"  /DMATLAB_DEFAULT_RELEASE=R2017b  /DUSE_MEX_CMD   /DMATLAB_MEX_FILE -Qopenmp -Qmkl /integer-size:64 /O2 /DNDEBUG "C:\Users\zk1357\Desktop\Evolution_Code_Doubon\pardisonew.F" /FoC:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\pardisonew.obj
    CMDLINE100_7 : ifort /c /nologo /fpp /Qprec /MD /fp:source /assume:bscc -I"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\include"  -I"C:\Program Files\Polyspace\R2019b\extern\include"  /DMATLAB_DEFAULT_RELEASE=R2017b  /DUSE_MEX_CMD   /DMATLAB_MEX_FILE -Qopenmp -Qmkl /integer-size:64 /O2 /DNDEBUG "C:\Program Files\Polyspace\R2019b\extern\version\fortran_mexapi_version.F" /FoC:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\fortran_mexapi_version.obj
-------------------------------------------------------------------
Building with 'Intel Parallel Studio XE 2017 for Fortran with microsoft Visual Studio 2015'.
ifort /c /nologo /fpp /Qprec /MD /fp:source /assume:bscc -I"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\include"  -I"C:\Program Files\Polyspace\R2019b\extern\include"  /DMATLAB_DEFAULT_RELEASE=R2017b  /DUSE_MEX_CMD   /DMATLAB_MEX_FILE -Qopenmp -Qmkl /integer-size:64 /O2 /DNDEBUG "C:\Users\zk1357\Desktop\Evolution_Code_Doubon\ero_dep_fortran.F" /FoC:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\ero_dep_fortran.obj
ifort /c /nologo /fpp /Qprec /MD /fp:source /assume:bscc -I"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\include"  -I"C:\Program Files\Polyspace\R2019b\extern\include"  /DMATLAB_DEFAULT_RELEASE=R2017b  /DUSE_MEX_CMD   /DMATLAB_MEX_FILE -Qopenmp -Qmkl /integer-size:64 /O2 /DNDEBUG "C:\Users\zk1357\Desktop\Evolution_Code_Doubon\Module.F" /FoC:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\Module.obj
ifort /c /nologo /fpp /Qprec /MD /fp:source /assume:bscc -I"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\include"  -I"C:\Program Files\Polyspace\R2019b\extern\include"  /DMATLAB_DEFAULT_RELEASE=R2017b  /DUSE_MEX_CMD   /DMATLAB_MEX_FILE -Qopenmp -Qmkl /integer-size:64 /O2 /DNDEBUG "C:\Users\zk1357\Desktop\Evolution_Code_Doubon\prepare_bank_collapse.F" /FoC:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\prepare_bank_collapse.obj
ifort /c /nologo /fpp /Qprec /MD /fp:source /assume:bscc -I"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\include"  -I"C:\Program Files\Polyspace\R2019b\extern\include"  /DMATLAB_DEFAULT_RELEASE=R2017b  /DUSE_MEX_CMD   /DMATLAB_MEX_FILE -Qopenmp -Qmkl /integer-size:64 /O2 /DNDEBUG "C:\Users\zk1357\Desktop\Evolution_Code_Doubon\LINEAR_ELASTIC_STIFFnesS.F" /FoC:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\LINEAR_ELASTIC_STIFFnesS.obj
ifort /c /nologo /fpp /Qprec /MD /fp:source /assume:bscc -I"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\include"  -I"C:\Program Files\Polyspace\R2019b\extern\include"  /DMATLAB_DEFAULT_RELEASE=R2017b  /DUSE_MEX_CMD   /DMATLAB_MEX_FILE -Qopenmp -Qmkl /integer-size:64 /O2 /DNDEBUG "C:\Users\zk1357\Desktop\Evolution_Code_Doubon\FAILURE_CRITERION.F" /FoC:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\FAILURE_CRITERION.obj
ifort /c /nologo /fpp /Qprec /MD /fp:source /assume:bscc -I"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\include"  -I"C:\Program Files\Polyspace\R2019b\extern\include"  /DMATLAB_DEFAULT_RELEASE=R2017b  /DUSE_MEX_CMD   /DMATLAB_MEX_FILE -Qopenmp -Qmkl /integer-size:64 /O2 /DNDEBUG "C:\Users\zk1357\Desktop\Evolution_Code_Doubon\OUTPUT.F" /FoC:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\OUTPUT.obj
ifort /c /nologo /fpp /Qprec /MD /fp:source /assume:bscc -I"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\include"  -I"C:\Program Files\Polyspace\R2019b\extern\include"  /DMATLAB_DEFAULT_RELEASE=R2017b  /DUSE_MEX_CMD   /DMATLAB_MEX_FILE -Qopenmp -Qmkl /integer-size:64 /O2 /DNDEBUG "C:\Users\zk1357\Desktop\Evolution_Code_Doubon\pardisonew.F" /FoC:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\pardisonew.obj
ifort /c /nologo /fpp /Qprec /MD /fp:source /assume:bscc -I"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\include"  -I"C:\Program Files\Polyspace\R2019b\extern\include"  /DMATLAB_DEFAULT_RELEASE=R2017b  /DUSE_MEX_CMD   /DMATLAB_MEX_FILE -Qopenmp -Qmkl /integer-size:64 /O2 /DNDEBUG "C:\Program Files\Polyspace\R2019b\extern\version\fortran_mexapi_version.F" /FoC:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\fortran_mexapi_version.obj
link  /nologo /manifest /INCREMENTAL:NO /DLL   /EXPORT:MEXFUNCTION /EXPORT:MEXFILEREQUIREDAPIVERSION C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\ero_dep_fortran.obj C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\Module.obj C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\prepare_bank_collapse.obj C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\LINEAR_ELASTIC_STIFFnesS.obj C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\FAILURE_CRITERION.obj C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\OUTPUT.obj C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\pardisonew.obj C:\Users\zk1357\AppData\Local\Temp\mex_155853875819566_16652\fortran_mexapi_version.obj  "/LIBPATH:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.5.267\windows\mkl\lib\intel64"   /LIBPATH:"C:\Program Files\Polyspace\R2019b\extern\lib\win64\microsoft" libmx.lib libmex.lib libmat.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib  ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /out:ero_dep_fortran.mexw64
  Creating ero_dep_fortran.lib and ero_dep_fortran.exp

mt -outputresource:ero_dep_fortran.mexw64;2 -manifest "ero_dep_fortran.mexw64.manifest"
microsoft (R) Manifest Tool version 6.3.9600.17336

Copyright (c) microsoft Corporation 2012. 

All rights reserved.


del "ero_dep_fortran.exp" "ero_dep_fortran.lib" "ero_dep_fortran.mexw64.manifest" "ero_dep_fortran.ilk"
MEX completed successfully.
daiwang2 回答:从英特尔MKL调用功能时,Matlab崩溃

最可能的原因是默认整数大小与MKL库接口版本之间不兼容。

LP64需要4个字节的整数,ILP64需要8个字节的整数。默认情况下,mex添加/integer-size:64选项,从而使整数为8字节长。但是根据documentation,使用/Qmkl选项,编译器将链接到LP64库。

要解决此问题,您需要链接到ILP64explicitly。为此,请删除/Qopenmp /Qmkl并使用-lmkl_intel_ilp64.lib -lmkl_intel_thread.lib -lmkl_core.lib libiomp5md.lib链接选项。

本文链接:https://www.f2er.com/2850141.html

大家都在问