Создание пользовательских библиотек Intel MKL, которые не зависят от MSVCR120.DLL - PullRequest
0 голосов
/ 14 марта 2019

Я создаю пользовательскую библиотеку Intel MKL DLL (обновление 2019 года) , используя следующую команду:

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, кажется, в порядке и должен также перераспределить .

Можно ли создать собственную DLL-библиотеку Intel MKL, которая не зависит от MSVCR120.DLL?

Я видел, что есть параметр crt = <c run-time library>, но я не знаю, может ли это помочь.

Я не могу напрямую использовать опцию /MT с вышеуказанной командой.

1 Ответ

0 голосов
/ 18 марта 2019

Я могу создать специальную библиотеку DLL Intel MKL, которая не зависит от MSVCR120.DLL, используя следующую команду с аргументом добавления crt=libcmt.lib:

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: статическая библиотека ссылок CRT для сборки выпуска (/ MT)
  • libcmtd.lib: статическая библиотека ссылок CRT для отладочной сборки (/ MTd)
  • msvcrt.lib: библиотека импорта для выпущенной версии DLL CRT (/ MD)
  • msvcrtd.lib: библиотека импорта для отладочной DLL-версии CRT (/ MDd)

см. https://stackoverflow.com/a/3007915/7556646

...