VSCode+CMake开发环境搭建
一、软件安装
-
安装VScode。
-
安装编译器MinGW。可以看到我的编译器资源文件在以下目录,然后配置编译器的环境变量
(作用就是你能够同通过命令行调用这个目录下的程序),具体操作就是在系统高级设置中的path下添加bin目录的绝对目录。
环境变量位置(具体位置以你的为准)
-
安装cmake。自己去官网下载,同样添加化境其环境变量。方法同上
通过以上操作我们就安装完成了软件部分。下面开始进行环境的配置工作。
二、vscode环境的配置
-
打开vscode
-
安装cmake、c/c++、cmake tools三个插件。
-
检查编译、构建工具是否正确运行。打开终端输入:gcc --version
,见到他告诉你就说明安装ok了。
-
接着的输入cmake --version
,然后他又回答你了,恭喜你!那么这两工具应该安装的没有问题。
三、创建一个cmke项目
- 创建一个文件夹可以使用gui来创建,也可以装逼使用命令行创建,下面是使用命令行创建的方式(也不是装逼这种方式更快啊!)
mkdir exer //make directory 创建目录
cd exer
code . //在当前目录打开vscode
- 使用cmake工具插件创建
CMakeLists.txt
文件(名字一个字不能出错)。方法:1.手动创建。2.使用cmake工具(下面演示)
使用快捷键Ctrl+Shift+P
打开vscode 的控制面板。输入CMake:quick start
,选着GCC编译器,然后创建一个可执行文件。
这里有一个要点:
就是这一步(下图),我们同时配置了cmake使用的编译器。我们可以先选择第一项scan for kits,扫描本地的工具包套件(也就是像mingW clong等编译器、调试器一体的工具包),套件表示工具链,即用于构建项目的编译器、链接器和其他工具。然后vscode将自动扫描计算机上的工具包,并创建系统上找到的编译器列表。
of course,你可以通过以下按钮更换套件工具链即编译器
我们可以看到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)
main函数
#include <iostream>
int main(){
std::cout<<"input two numbers"<<std::endl;
int number1=0,number2=0;
std::cin>>number1>>number2;
std::cout<<"number1 is "<<number1<<"; "<<"number2 is "<<number2<<"\n"
<<"number1+number2="<<number1+number2<<std::endl;
system("pause");
return 0;
}
- 选择编译的版本。编译的一共有4个
Debug
、Release
、MinRelSize
、RelWithDebInfo
。区别在于:
Debug
:禁用优化并包括调试信息。
Release
:包括优化,但没有调试信息。
MinRelSize
:优化尺寸。无调试信息。
RelWithDebInfo
:优化速度,包括调试信息。
更改方法:要选择变体,请打开命令面板(Ctrl+Shift+P)运行CMake:select var
。
现在我们就完成了:1.编译器调试器的配置。2. 生成版本的选择
- 配置项目后,就准备好构建了。
- 方式1:打开命令板(Ctrl+Shift+P)并运行
CMake:Build
, - 方式2:或从底部状态栏中点击"构建"按钮。
- 方式3:或者打开命令行窗口(快捷键ctrl+`)输入 :
cmake --build build
下图显示的是第二种方式:
运行情况:
在命令窗口输入我们的文件名,必须在当前目录下或者使用相对路径去执行编译后的exe
- 运行和调试项目,请打开并在线上放置一个断点。然后打开命令板(Ctrl+Shift+P),并运行
CMake: dbug
。按F5
继续调试。
自此完成vsCode + c++ + CMake的环境搭建工作,help can help to you!有什么疑问大家可以留言讨论…
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)