VSCode实现c++多文件编译,如何用VSCode写c++项目,以及一些踩坑经验(并非保姆级)。
先参考以下博文下载MinGW-w64关于VSCode的下载及安装请参考其他博文,网络有大量安装步骤,本文不做介绍。
准备工作
先参考以下博文下载MinGW-w64
MinGW-w64下载攻略
关于VSCode的下载及安装请参考其他博文,网络有大量安装步骤,本文不做介绍。
小坑
实际上很多其他CSDN在推荐另一款g++的编译器,链接:VS Code 配置 C/C++ 编程运行环境(保姆级教程)
该文章从github上下载msys2-x86_64-20240113.exe,长这样:![]()
使用这个的话不是没有问题,但是在多文件编译的时候配置Json文件,我的电脑出现了无法识别通配符*的情况,导致*.cpp老出错。所以我这里不建议下载这个版本的编译器,这个保姆级攻略也并没有让我实现C++的多文件调试。
从新建文件夹开始
首先要了解根目录的概念,你使用VScode右键打开文件夹时,该文件夹就是你的根目录,你的一个项目要都在这个根目录里。其他无关的代码文件则不能出现在该文件夹里。
如果你邮件没有该选项可以参考这篇文章:右键菜单加入用VSCode打开文件和文件夹
或者通过VScode左上角打开文件夹就可以。
这一步骤相当于其他大型工程软件例如VS的打开工程一样。然后你左边工具栏的文件夹部分,就会有一个你打开文件夹的名字,这个就是你的根目录。

根目录文件结构
在该章节中,你需要严格遵守起名规范与文件目录结构
首先在根目录下创建三个文件夹,.vscode,include,bin<这个可以自动生成,不用手动创建>
其中.vscode文件夹是用来放json配置文件的,后文会告诉你怎么写,include放你引用的第三方库和自己的头文件,然后bin存放编译后的exe文件,根目录本身存放你的cpp源码,我这里给出一个我的小项目文件目录。
实际上我也不知道怎么回事,但是我自己写的头文件Connectivity.h,无论放在根目录下还是include文件夹内都能编译成功。
在根目录下创建.vscode文件夹
在你的根目录下(项目文件夹)创建一个文件夹,起名.vscode。
并在.vscode文件夹内创建三个JSON文件,名称需要和我写的保持一致。JSON文件名和具体内容请看详细代码,并根据注释内容修改成你自己的。
新建c_cpp_properties.json
新建 c_cpp_properties.json文件,请注意修改注释中的文件路径,内容如下:
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
//请把下面这一行compilerPath后的路径换成你自己的g++.exe路径
"compilerPath": "C:\\Program Files\\mingw64\\bin\\g++.exe",
"cStandard": "c17",
"cppStandard": "gnu++14",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}
新建launch.json
新建 launch.json文件,内容:
{
"version": "0.2.0",
"configurations": [
{
"name": "C/C++ 调试",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/bin/${fileBasenameNoExtension}.exe", // 可选替换为你的可执行文件路径
"args": [],
"cwd": "${workspaceFolder}", // 强制工作目录为项目根目录
"environment": [],
"externalConsole": false
}
]
}
新建tasks.json
新建 tasks.json文件,请注意修改注释中的文件路径,内容如下:
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活动文件",
//请把下面这一行command后的路径换成你自己的g++.exe路径
"command": "C:\\Program Files\\mingw64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"-I", "${workspaceFolder}/include", // 添加头文件搜索路径,用于你引入第三方库和自己写的头文件<可选修改>
"${workspaceFolder}/*.cpp",//这里的路径指的是编译根目录下的所有cpp文件<可选增加与修改>
"-o",
//下面的路径是编译生成的exe文件路径,我这里设置的是根目录下的bin文件夹内,exe名称同你的主函数文件名<可选修改>
"${workspaceFolder}/bin/${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
在这里我要着重强调:${workspaceFolder}指的是你的工作区文件夹,其实就是根目录,就是你的项目文件夹。我已经用注释的形式把一些路径写了进去,你可以根据你的项目修改或增添这些路径。你也可以把你的项目文件结构喂给AI,问问它怎么修改这个json文件来成功编译你的项目。
最后结构如图:
至此就可以调试运行c++程序了,在你的主程序代码按F5就可以调试,也可以打断点。
小坑2
如果出现cmd命令错误,是你的vscode打开的终端不是powershell而是cmd导致的。
首先在vscode下方的终端这里点右上角有一个下拉箭头,然后选择默认配置文件
然后选择powershell即可
更多推荐
所有评论(0)