CMake设置MSVC运行库

本文详细介绍了如何在CMake中设置MSVC运行库,包括MultiThreaded、MultiThreadedDLL、MultiThreadedDebug和MultiThreadedDebugDLL的不同选项,以及$<<CONFIG:Debug>:Debug>的用法和默认值。还提供了在全局解决方案和单个项目中的设置示例。
摘要由CSDN通过智能技术生成

前言

本篇文章介绍如何在CMake中设置MSVC运行库,对应VS属性界面的选项如下:
在这里插入图片描述
注意:
对于非windows系统,该值将被忽略,所以我们设置该值的时候可以不用考虑平台相关

MSVC_RUNTIME_LIBRARY

这是一个变量,该变量就是用于设置MSVC运行库的值的,可以设置的值如下:

  • MultiThreaded:对应于VS的/MT,多线程静态链接运行库
  • MultiThreadedDLL:对应于VS的/MD,多线程动态链接运行库
  • MultiThreadedDebug:对应于VS的/MTd,多线程静态链接运行库的Debug模式
  • MultiThreadedDebugDLL:对应于VS的/MDd,多线程动态链接运行库的Debug模式

设置的语法规则如下:

set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")

重点是$<$<CONFIG:Debug>:Debug>这一部分,这一部分的意思是如果当前是Debug模式,返回Debug,否则返回空,所以设置指令对应的VS选项如下:

  • /MT和/MTd:
    set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
    
  • /Md和/MDd:
    set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL")
    

默认值

注意,如果没有进行设置,该选项的默认值是MultiThreaded$<$<CONFIG:Debug>:Debug>DLL

使用场景

整个解决方案

可以在写完cmake_minimum_required和project之后马上设置MSVC运行库,这样会影响所有的生成目标:

set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")

针对单个项目

在单个项目的CMakeLists中设置

set_target_properties(Target PROPERTIES
    MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>"
)
  • 12
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Windows下使用C++编程可以使用多种工具和编译器,其包括CMakeMSVC编译器。下面是对这些工具的简要介绍: 1. CMakeCMake是一个跨平台的开源构建工具,它可以生成用于不同编译器和操作系统的构建脚本。使用CMake可以简化项目的构建过程,并提供了一种统一的方式来管理项目的依赖关系。CMake使用CMakeLists.txt文件来描述项目的构建规则。 2. MSVC编译器:MSVC(Microsoft Visual C++)是微软提供的C++编译器,它是Windows平台上最常用的编译器之一。MSVC提供了强大的调试功能和丰富的开发工具,可以方便地进行Windows平台的开发。MSVC也支持C++11、C++14、C++17等新标准。 在Windows下使用CMakeMSVC编译器进行C++项目的构建和编译,可以按照以下步骤进行: 1. 安装CMake:首先需要下载并安装CMake,可以从官方网站(https://cmake.org/download/)下载适合你的操作系统的安装包,并按照安装向导进行安装。 2. 创建CMakeLists.txt文件:在项目根目录下创建一个名为CMakeLists.txt的文件,该文件用于描述项目的构建规则。在CMakeLists.txt,你可以指定项目的源文件、依赖库、编译选项等。 3. 打开命令提示符或者PowerShell:在项目根目录下打开命令提示符或者PowerShell。 4. 创建构建目录:在命令提示符或者PowerShell,使用mkdir命令创建一个用于构建的目录,例如build。 5. 进入构建目录:使用cd命令进入构建目录。 6. 运行CMake:在构建目录运行cmake命令,指定项目根目录的路径。例如,如果项目根目录在D:\project下,则可以运行以下命令: ``` cmake D:\project ``` 7. 生成项目文件:CMake会根据CMakeLists.txt文件生成相应的项目文件,例如Visual Studio的解决方案文件(.sln)和项目文件(.vcxproj)。 8. 打开生成的项目文件:使用Visual Studio打开生成的解决方案文件(.sln),可以在Visual Studio进行代码编辑、调试和编译。 9. 编译项目:在Visual Studio选择合适的配置(Debug或Release),然后点击编译按钮进行项目的编译。 以上是使用CMakeMSVC编译器进行C++项目的基本步骤。当然,具体的操作可能会因为项目的不同而有所差异。如果你有具体的问题或者需要更详细的介绍,请告诉我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值