VSCode:使用CMakeLists.txt构建C++项目-创新互联

vscode配置

插件:

创新互联建站长期为1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为平桥企业提供专业的网站建设、网站设计平桥网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。
  • CMake插件主要功能是CMake语法高亮、自动补全
  • CMake Tools的功能主要是结合VSCode IDE使用CMake这个工具,比如生成CMake项目、构建CMake项目等
  • CMake Tools Helper

CMake工具本身还是要下载到本地,并且配置环境变量。

项目结构

包括6部分:build文件夹、include文件夹、src文件夹、lib文件夹、bin文件夹和CMakeLists.txt。

在这里插入图片描述

编译 基本配置

首先安装VSCode插件CMake和CMake Tools

新建CMake项目
  • Ctrl+Shift+p打开VSCode的指令面板,然后输入cmake:q,VSCode会根据输入自动提示,然后选择CMake: Quick Start

在这里插入图片描述

  • 然后选择适合你的编译器。这里我们选择GCC7.4.0:
    在这里插入图片描述

  • 然后根据提示输入项目名称:

在这里插入图片描述

  • 然后选择该项目是创建库还是可执行文件,这里我们选择可执行文件Executable:

在这里插入图片描述

  • 然后VSCode就会为你生成一个CMake项目。如下所示:
    • build文件夹是cmake指令的输出文件夹
    • 默认生成的CMakeLists.txt文件
    • 默认生成的main.cpp文件
    • 其他的文件夹比如include文件夹、src文件夹、bin文件夹等自己建立就行。
      在这里插入图片描述

我们可以看到CMakeLists.txt文件中的内容,如下:

project(exer VERSION 0.1.0)    #项目名字和版本

include(CTest)            #包含测试框架,我们可以不用
enable_testing()

add_executable(exer main.cpp)       #添加源文件

set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
include(CPack)

将CMakeLists.txt修改如下:

# CMake 最低版本号要求
cmake_minimum_required(VERSION 3.0.0)
 
# 项目信息
project(test1 VERSION 0.1.0)
 
#设置exe输出目录
set(EXECUTABLE_OUTPUT_PATH "${PROJECT_SOURCE_DIR}/bin")  
 
# 查找当前目录下的所有源文件
# 并将名称保存到 DIR_SRCS 变量
aux_source_directory(. DIR_SRCS)
 
# 指定生成目标
add_executable(Demo ${DIR_SRCS})
#add_executable(${PROJECT_NAME} main.cpp)

在“test1[test1.exe]”上,鼠标右键弹出菜单,选择调试或debug。
在这里插入图片描述

编译

两种方法:

  • 点击底部的Build
    在这里插入图片描述

  • 打开命令板(Ctrl+Shift+P)并运行CMake:Build(输入cmake后VSCode会帮你列出所有支持的命令):

在这里插入图片描述

  • 或者直接按下快捷键F7。
设置文件c_cpp_properties.json

我们按住 ctrl + shift + p,搜索C/C++
在这里插入图片描述
我们配置一下编译器路径
在这里插入图片描述
更改IntelliSense模式:
在这里插入图片描述
然后关闭这个界面,我们会发现CppProject文件夹中多了一个.vscode文件夹,有一个c_cpp_properties.json

调试 方法一

设置好断点,按下快捷键 ctrl + shift + p , 键入: cmake:debug , 程序将执行,并停在断点所在位置。

或者直接按下快捷键ctrl+F5。

方法二(不看)

首先在源码中打上断点:
在这里插入图片描述
然后配置调试环境:

在这里插入图片描述
这个时候资源管理器下就会生成.vscode文件夹,下面有个launch.json文件
在这里插入图片描述
在这里插入图片描述
把下面一句:

"program": "输入程序名称,例如 ${workspaceFolder}/a.exe",

改成:(根据CMakeLists.txt文件内容,将会在build文件夹下生成result可执行文件)

"program": "${workspaceFolder}/build/result",

然后就可以加断点调试了。

代码的中文乱码问题

https://blog.csdn.net/m0_46577050/article/details/127604039

关于 选择编译的版本
  • 编译的一共有4个Debug 、Release 、MinRelSize 、RelWithDebInfo。区别在于:
    • Debug:禁用优化并包括调试信息。
    • Release:包括优化,但没有调试信息。
    • MinRelSize :优化尺寸。无调试信息。
    • RelWithDebInfo:优化速度,包括调试信息。
    • 更改方法:要选择变体,请打开命令面板(Ctrl+Shift+P)运行CMake:select var。或者点击下面深色

在这里插入图片描述

切换编译工具链
  • 你可以通过以下按钮更换套件工具链即编译器
    在这里插入图片描述

  • 或者是可以通过ctrl+shifl+p,输入CMake:Select a Kit

  • 如果想重新配置本地的编译工具链的安装位置,那么可以打开如下配置

CMake:Edit user-local CMake kits
参考
  • https://blog.csdn.net/jiasike/article/details/107474368
  • https://blog.csdn.net/qq_62094479/article/details/127816434
  • https://blog.csdn.net/hhy321/article/details/120602770

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


文章标题:VSCode:使用CMakeLists.txt构建C++项目-创新互联
新闻来源:http://azwzsj.com/article/dcddec.html