我正在使用以下命令构建custom Intel MKL DLL (2019 Update 2):
nmake libintel64 MKLROOT="C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl" name=win\intel64\custom_mkl interface="lp64"
使用dumpbin
可以看到custom_mkl.dll
取决于MSVCR120.DLL
和libiomp5md.dll
。第二个dll似乎没问题,必须redistributed as well。
是否可以构建不依赖于MSVCR120.DLL
的自定义Intel MKL DLL?
我看到有一个crt = <c run-time library>
参数,但我不知道这是否有帮助。
我不能直接在上面的命令中使用/MT
选项。
答案 0 :(得分:0)
我可以使用带有附加参数MSVCR120.DLL
的以下命令来构建不依赖于crt=libcmt.lib
的自定义Intel MKL DLL:
nmake libintel64 MKLROOT="C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl" name=win\intel64\custom_mkl interface="lp64" crt=libcmt.lib
以下答案对我有帮助:
在vc \ lib中存在4种版本的CRT链接库:
- libcmt.lib:发布版本(/ MT)的静态CRT链接库
- libcmtd.lib:用于调试版本(/ MTd)的静态CRT链接库
- msvcrt.lib:CRT(/ MD)发行版DLL版本的导入库
- msvcrtd.lib:CRT(/ MDd)的调试DLL版本的导入库