VSCode:使用CMakeLists.txt构建C++项目

vscode配置

插件:

  • CMake插件主要功能是CMake语法高亮、自动补全
  • CMake Tools的功能主要是结合VSCode IDE使用CMake这个工具,比如生成CMake项目、构建CMake项目等
  • CMake Tools Helper

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

项目结构

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

VSCode:使用CMakeLists.txt构建C++项目_第1张图片

编译

基本配置

首先安装VSCode插件CMake和CMake Tools

新建CMake项目

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

在这里插入图片描述

  • 然后选择适合你的编译器。这里我们选择GCC7.4.0:
    VSCode:使用CMakeLists.txt构建C++项目_第2张图片

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

在这里插入图片描述

  • 然后选择该项目是创建库还是可执行文件,这里我们选择可执行文件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。
VSCode:使用CMakeLists.txt构建C++项目_第3张图片

编译

两种方法:

  • 点击底部的Build
    VSCode:使用CMakeLists.txt构建C++项目_第4张图片

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

VSCode:使用CMakeLists.txt构建C++项目_第5张图片

  • 或者直接按下快捷键F7。

设置文件c_cpp_properties.json

我们按住 ctrl + shift + p,搜索C/C++
VSCode:使用CMakeLists.txt构建C++项目_第6张图片
我们配置一下编译器路径
VSCode:使用CMakeLists.txt构建C++项目_第7张图片
更改IntelliSense模式:
VSCode:使用CMakeLists.txt构建C++项目_第8张图片
然后关闭这个界面,我们会发现CppProject文件夹中多了一个.vscode文件夹,有一个c_cpp_properties.json

调试

方法一

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

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

方法二(不看)

首先在源码中打上断点:
VSCode:使用CMakeLists.txt构建C++项目_第9张图片
然后配置调试环境:

VSCode:使用CMakeLists.txt构建C++项目_第10张图片
这个时候资源管理器下就会生成.vscode文件夹,下面有个launch.json文件
VSCode:使用CMakeLists.txt构建C++项目_第11张图片
VSCode:使用CMakeLists.txt构建C++项目_第12张图片
把下面一句:

"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

你可能感兴趣的:(工具软件,vscode,c++,github)