使用 cmake 从命令行使用 /MT 标志编译

Posted

技术标签:

【中文标题】使用 cmake 从命令行使用 /MT 标志编译【英文标题】:Compile with /MT flag from command line using cmake 【发布时间】:2020-12-03 00:56:42 【问题描述】:

如何使用 cmake 从命令行添加“/MT”标志?

我可以直接去cmake -D CMAKE_CXX_FLAGS="/MT" ..吗?

在我在网上找到的教程中,我看到有人分别设置CMAKE_CXX_FLAGS_RELEASECMAKE_CXX_FLAGS_DEBUG,但没有看到任何从命令行设置的示例。

【问题讨论】:

“我可以简单地...” - 你试过这样做吗? 我试过了,但我不确定如何验证它是否正确地使用此标志构建。 我尝试了这个答案的建议,使用dumpbin 来检查 (***.com/a/19487637/4943329),但我正在使用 circleCI 构建库,而 circleCI windows 机器没有安装该实用程序。 【参考方案1】:

做了一些测试,它不适用于cmake -D CMAKE_CXX_FLAGS="/MT" ..,但适用于cmake -D CMAKE_CXX_FLAGS_RELEASE="/MT" ..

我使用dumpbin 验证了生成的库。

【讨论】:

以上是关于使用 cmake 从命令行使用 /MT 标志编译的主要内容,如果未能解决你的问题,请参考以下文章

如何使用CMake在链接命令行的末尾添加标志?

从 Cmake 创建 Xcode 项目包含不需要的编译器标志

cmake:解决MSVC下/MT 编译paho.mqtt.c的问题

使用 CMake 编译 openCV:设置架构和优化标志

CMake 编译标志

g++:错误:无法识别的命令行选项“-mt”