官方过程,应该不难看懂,这里大概翻了一下
https://code.visualstudio.com/docs/cpp/cmake-linux
CMake是一个开源的跨平台工具,它使用编译器和独立于平台的配置文件生成特定于编译器和平台的本机构建工具文件。
CMake工具扩展集成Visual Studio Code和CMake,使其易于配置、构建和调试C++项目。在本教程中,您将使用Visual Studio Code的CCMake工具扩展来配置、构建和调试Linux上的简单C++ CMake项目。除了安装CMake、编译器、调试器和构建工具外,本教程中的步骤通常适用于在其他平台(如Windows)上使用CMake的方式。
前提
为了在ubuntu上编译这个教程,安装如下:
1.Visual Studio Code
2.用于VS CODE的C++扩展,通过在如下扩展中搜索“C++”,安装C/C++扩展(Ctrl+Shift+X
)
3.用于VS CODE的CMaKe扩展工具,通过在如下扩展视图中搜索“CMake Tools”,安装CMake Tools扩展(Ctrl+Shift+X
)
4.您还需要安装CMake、编译器、调试器和构建工具
确保CMaKe已安装
您将使用vscode编辑源代码,还需要使用系统上安装的编译器、调试器和生成工具(如make)编译和调试源代码。
在Ubuntu的本教程中,我们将使用GCC编译器GDB进行调试,并生成项目。默认情况下,这些工具不会安装在Ubuntu上,因此您需要安装它们。幸运的是,这很容易。
检查GCC是否安装
要查看系统上是否已安装GCC,请打开终端窗口并输入以下命令:
gcc -v
如果没有安装GCC,从终端窗口运行以下命令来更新Ubuntu包列表。过时的Linux发行版可能会干扰获取最新的软件包。
sudo apt-get update
接下来,使用以下命令安装GNU编译器、make和GDB调试器:
sudo apt-get install build-essential gdb
创建一个Cmake工程
如果现有的CMake项目在根目录中已经有一个CMakeLists.txt文件,则可以跳过以选择一个工具包来配置现有项目。
否则,请为新项目创建文件夹。在终端窗口中,创建一个名为cmakeQuickStart的空文件夹,进入到该文件夹中,然后通过输入以下命令在vscode中打开该文件夹:
mkdir cmakeQuickStart
cd cmakeQuickStart
code .
code.命令在vscode中打开当前工作文件夹,该文件夹将成为您的“工作区”
创建cmake hello world工程
CMake工具扩展可以为基本CMake项目创建文件。打开命令选项板(Ctrl+Shift+P
)并运行CMake:Quick Start命令:
输入项目名称。这将写入CMakeLists.txt和一些初始源文件。
接下来,选择Executable作为项目类型,以创建包含基本main()函数的基本源文件(main.cpp)。
注意:如果您想创建一个基本的源文件和头文件,您应该选择Library。但对于本教程,可执行文件就可以了。如果系统提示您为文件夹配置IntelliSense,请选择“允许”。
这将创建一个hello world CMake项目,其中包含main.cpp、CMakeLists.txt(告诉CMake工具如何构建项目)和一个名为build的文件夹,用于构建文件:
选择一个kit
在使用CMake工具扩展构建项目之前,需要对其进行配置,以了解系统上的编译器。通过扫描“kit”来实现这一点。kit代表一个工具链,它是用于构建项目的编译器、链接器和其他工具。要扫描kit,请执行以下操作:
1.打开命令选项板(Ctrl+Shift+P)并运行CMake:选择工具包。扩展将自动扫描计算机上的kit,并创建在系统上找到的编译器列表。
2.选择要使用的编译器。例如,根据您安装的编译器,您可能会看到以下内容:
配置hello world
要配置CMake项目,您必须做两件事:选择一个kit(您刚刚做过)和一个变体。
您先前选择的kit套件将显示在状态栏中。例如:
要更改工具包,可以单击状态栏中的工具包,或从命令选项板再次运行CMake:选择工具包命令。如果看不到要查找的编译器,可以在项目中编辑cmake-tools-kits.json文件。要编辑文件,请打开命令选项板(Ctrl+Shift+P)并运行CMake:edit User Local CMake Kits命令。
选择一个variant
变体包含有关如何构建项目的说明。默认情况下,CMake工具扩展提供了四个变体,每个变体对应于默认的构建类型: Debug
、Release
、MinRelSize
和RelWithDebInfo
。这些选项执行以下操作:
要选择变体,请打开命令选项板(Ctrl+Shift+P)并运行CMake:select variant命令。
选择“Debug”以将调试信息包括在生成中。
选定的变体将出现在激活套件旁边的状态栏中
Cmake:配置
现在您已经选择了一个工具包和一个变体,打开命令选项板(Ctrl+Shift+P
)并运行CMake:Configure
命令来配置您的项目。这将使用您选择的kit和变体在项目的生成文件夹中生成build文件。
编译hello world
配置项目后,就可以开始构建了。打开命令选项板(Ctrl+Shift+P
)并运行CMake:Build
命令,或从状态栏中选择Build按钮。
通过从命令选项板中选择CMake:Set build Target,可以选择要生成的目标。默认情况下,CMake工具构建所有目标。所选目标将出现在Build按钮旁边的状态栏中。
Debug hello world
要运行和调试项目,请打开main.cpp
并在std::cout
行上放置一个断点。然后打开命令面板(Ctrl+Shift+P
)并运行CMake:Debug
。调试器将在std::cout
行停止:
然后按F5继续。
现在您已经使用vscode的CMAKE工具扩展来使用CMAKE来编译和调试Ubuntu上的C++应用程序。
如果出现
[cpptools] The build configurations generated do not contain the active build configuration. Using "" for CMAKE_BUILD_TYPE instead of "Debug" to ensure that IntelliSense configurations can be found
需要确保CMakeLists.txt中的编译选项与vscode所选择的一致,即
SET(CMAKE_BUILD_TYPE Debug)