【发布时间】:2017-02-18 09:17:03
【问题描述】:
在命令行中使用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 做到这一点?
【问题讨论】:
标签: visual-studio visual-c++ dll cmake