При создании Visual C++ с cl.exe
в командной строке я могу сделать это с помощью cl /MT /GL main.cpp /link /LTCG /NODEFAULTLIB:libucrt.lib ucrt.lib
. Я могу проверить результат, запустив tasklist /m /fi "imagename eq main.exe"
, список будет содержать ucrtbase.dll, но не vcruntimexxx.dll, как ожидалось.Статически ссылается на vcruntimexxx.dll, динамически ссылаясь на ucrtbase.dll с Cmake
Теперь моя настоящая проблема: я хочу построить https://github.com/WebAssembly/binaryen, как указано выше. Я добавил следующее в главном CMakeLists.txt:
ADD_COMPILE_FLAG("/MT")
ADD_COMPILE_FLAG("/GL")
ADD_LINK_FLAG("/LTCG")
ADD_LINK_FLAG("/NODEFAULTLIB:libucrt.lib")
ADD_LINK_FLAG("ucrt.lib")
программа, построенная еще динамически связана с vcruntimexxx.dll.
Как это сделать с помощью CMake?