针对于简单的C++小程序,可以使用task.json和launch.json来配置编译和调试。但是对于生成lib、dll等稍复杂的项目,虽然可以借助task.json配置不同的task来实现,但使用g++中rcs等归档命令还是有些晦涩难懂,所以单纯的使用task.json文件来生成lib、dll等复杂项目并非明智之举。同时,目前大型项目多是采用cmake组织工程,因此了解在VS Code如何运行和调试cmake组织的项目,就显得尤为重要。
1. 环境准备
本文是VS Code C/C++环境搭建系列文章的第二篇(第一篇文章为:弃用VS转向VS Code),默认VS Code已经成功安装,并且C/C++相关扩展也已经安装成功。而在VS Code中运行和调试cmake项目,需要安装cmake扩展,cmake相关的扩展主推CMake和CMake Tools。其安装方法参照汉化插件或C/C++扩展的安装方法即可。
其中CMake插件更侧重于cmake脚本(如CMakeLists.txt文件)的编写体验,而CMake Tools插件则是一个功能更为全面的CMake集成开发环境(IDE)插件,它涵盖了脚本编写、项目的配置、构建、调试等多个方面。
2. 基于cmake tool运行和调试
在上一章节中,分别测试了如何使用task.json和launch.json来运行和调试单文件项目、多文件项目和多个文件夹项目。本节将使用cmake插件来实现其运行和调试。
无论是单文件、多文件、多文件夹项目,乃至是生成lib、dll库以及引用第三方库的项目,只要其CMakeLists.txt文件配置正确,那么对于VS Code来说,其运行和调试都是一样的,因此本节以同时生成库文件和其测试程序exe为例,演示如何使用cmake插件来实现其运行和调试。
项目结构为如下:
其中add文件夹下用于生成库文件ADD.dll和ADD.lib,src文件夹下用于生成测试ADD库文件的可执行程序,因此,本项目存在三个CMakeLists.txt文件,分别是add文件夹下的CMakeLists.txt、src文件夹下的CMakeLists.txt以及根目录下的CMakeLists.txt。
其运行和调试是基于cmake的,首先要进行cmake配置,操作方法为:快捷键(Ctrl+shift+P或F1)打开命令输入窗口,输入"cmake:configure",选择cmake:configure,如下图所示:
此时,在VS Code的底部状态栏会显示如下的CMake相关设置按钮:
图中已经标注各个按钮的作用,再次阐释如下:
3. 总结
本文介绍了如何使用cmake tool插件来实现cmake项目的运行和调试,其配置和使用相对简单,但是其功能却非常强大,可以满足大部分cmake项目的运行和调试需求。