让 msbuild 使用 MT_StaticRelease

Getting msbuild to use MT_StaticRelease

如何使用 msbuild MT_StaticRelease?

我要构建的包是 LLVM 3.5.1,在 Windows 7 上使用 Visual Studio 12 64 位,我最接近的应该是正确的命令行是

msbuild /p:Configuration=Release /p:RuntimeLibrary=MT_StaticRelease ALL_BUILD.vcxproj

但是尝试针对 LLVM 库编译测试程序会收到类似

的错误消息
LLVMSupport.lib(CommandLine.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in main-0b0089.obj

这表明 msbuild 仍在使用 /MD 而不是 /MT 并且观察构建过程似乎证实了这一点。是否缺少某些命令行选项?

您需要在 LLVM 的 CMake 配置中进行配置:

 LLVM_USE_CRT_DEBUG=MTd
 LLVM_USE_CRT_RELEASE=MT