静态链接到vcruntimexxx.dll,同时使用Cmake动态链接到ucrtbase.dll

时间:2016-10-10 00:51:48

标签: visual-studio visual-c++ dll cmake

在命令行中使用cl.exe构建Visual C ++时,我可以使用cl /MT /GL main.cpp /link /LTCG /NODEFAULTLIB:libucrt.lib ucrt.lib执行此操作。我可以通过运行tasklist /m /fi "imagename eq main.exe"来验证结果,该列表将包含ucrtbase.dll但不包含vcruntimexxx.dll。

现在我真正的问题:我想像上面那样构建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执行此操作?

0 个答案:

没有答案