Windows下vscode、MinGW+CMake环境搭建
Windows下vscode、MinGW+CMake环境搭建1. MinGW安装2. CMake安装3. vscode安装1. MinGW安装参考链接:MinGW-w64 C/C++编译器下载和安装安装效果:环境变量配置:参考链接里演示的是win7下的环境变量编辑操作,这里笔者给出win10下的方法,其实是大同小异的。右键计算机->属性->高级系统设置->高级->环境变量,
Windows下vscode、MinGW+CMake环境搭建
1. MinGW安装
安装效果:
环境变量配置:
参考链接里演示的是win7下的环境变量编辑操作,这里笔者给出win10下的方法,其实是大同小异的。
右键计算机->属性->高级系统设置->高级->环境变量,然后鼠标双击变量Path,或者选中后点击编辑,如下图:
在变量值输入框的末尾输入MinGW解压后的bin文件夹路径,bin的后面有无斜杠均可。另外,环境变量分为系统和用户两种,如果写在系统环境变量中,则对该计算机所有用户有效。不过一般情况下,自己的电脑都只有自己一个用户,所以这里写在哪一种环境变量中都可以。
接下来操作的这一步是为了配合后续cmake使用,在环境变量中添加CC、CXX(分别表示C/C++编译器)变量,方便cmake模块寻找所需要的编译器。
完成上述步骤后,还有一个步骤推荐执行,在bin路径下,有一个mingw32-make.exe,这个可执行文件的作用类似于Linux系统下的make命令。这里可以直接在命令行终端中调用mingw32-make命令,笔者为了符合自己编译代码的习惯,将其复制一份,并重命名为make.exe。这样的好处是后续在vscode终端中可以直接使用make命令,与Linux系统中达成一致。
2. CMake安装
官网下载链接:https://cmake.org/download/
参考链接:https://www.cnblogs.com/herelsp/p/8679200.html
官网给的下载链接虽然可以用,但是下载速度也是真的感人。笔者从CSDN上找到了相关的安装包,最后在某宝上买了CSDN的自助下载链接下载。
CSDN链接:cmake-3.19.1-win64-x64(2).msi
安装:
环境变量配置:
这里cmake的环境变量是安装的时候自动添加的(选择的是给计算机所有用户添加到环境变量,所以添加到系统环境变量)。
3. vscode安装与配置
3.1 软件安装
官网下载链接:https://code.visualstudio.com/
安装过程:
这一步按照默认配置就行,环境变量可以自己添加,也可以让它自动添加(推荐)。
环境变量配置:
默认添加到系统环境变量。
3.2 vscode调试环境配置
关于vscode上launch.json和task.json文件的生成以及配置,笔者给出感觉还不错的参考链接:
C/C++编译器配置,launch.json和task.json文件的配置
Windows+VSCode+MinGW+CMake环境配置
博客中解释得比较详细。
- 关于
c_cpp_properties.json
文件
按快捷键Ctrl+Shift+P,搜索C++,选择Edit Configurations
,自动在工程目录下生成.vscode/c_cpp_properties.json
文件。笔者通常在文件配置包含头文件的路径(与CMakeLists.txt文件中include的路径不是同一个概念,这个文件是提供给vscode插件使用),方便写代码时安装的C++插件实施自动补全。
在这个文件中,有两个地方可以添加头文件的路径:
- 直接在"includePath"中添加路径,该方法简单、直接,但是头文件路径较多时手动添加比较麻烦;
- 手动添加“configurationProvider”变量,它的值是执行cmake命令后生成的
compile_commands.json
文件,具体路径根据自己的实际情况而定,笔者这里是放在工程的build文件夹里(默认值)。
-
关于
tasks.json
文件task.json
文件的生成方式如下:按快捷键Ctrl+Shift+P,选择Tasks:Configure Default Build Task
,然后根据编译器类型选择对象选项即可。这里需要注意的是最好在源文件页面(比如图中页面显示的是main.cc)按快捷键,不然会报错。
在task.json文件中,task以列表的形式呈现,每增加一个task,就会在task[]列表中多一个项。
task文件中关键变量解释:
type变量决定了task的类型,shell类型就是在命令行里运行command的命令;
label变量表示该task的名字,理论上可以随意取,最好写有实际意义的名字;
command变量表示需要被运行的命令;
args变量表示command后跟的参数;
options里面的cwd变量表示命令运行的路径;
group里面的kind变量,写为build表示该task是个生成任务。
调用该task的方法:按快捷键Ctrl+Shift+B,就能看到task列表里面定义的task。
方才展示的task相当于在shell命令行执行命令:cmake -G "MinGW Makefiles .."
-
关于
launch.json
文件launch.json
文件的生成方式如下:点击左侧debug按钮,点击Run and Debug
(或者按快捷键F5)出现相关选择框,选择C++(GDB/LLDB)
,另外一个没用过,感兴趣的可以试试。
第一次打开时可能会报错,这很正常,关闭报错提示框后,vscode会根据安装好的mingw编译器自动生成配置好的launch.json文件,保存在当前工程路径的.vscode文件夹下:
对launch.json
的各关键项解释如下:
关于c/c++编译器:无论是.c文件还是.cpp文件都可以编译生成可执行文件,如果选择的是gcc.exe则只能编译c文件,编译c++文件,所以推荐使用g++编译器。
3.3 测试vscode下cmake的使用
示例代码:
#include <iostream>
using std::endl;
using std::cout;
int main()
{
cout << "hello, world." << endl;
for (int i = 0; i < 10; i++)
{
cout << "i = " << i << endl;
}
return 0;
}
CMakeLists.txt的文件内容:
cmake_minimum_required(VERSION 3.8)
project(HelloWorld)
add_compile_options(-std=c++11 -o0 -g)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
add_executable(out main.cpp)
编译结果:
运行结果:
对上述代码进行Debug调试,断点选在for循环中的cout语句:
笔者将上述可能用到的文件整理到百度网盘,有需要的读者可自行前往下载:
链接:https://pan.baidu.com/s/1lyMTt8BtcXacpGVGWyqQiw
提取码:ddef
更多推荐
所有评论(0)