详解VSCode中C++工程配置
创始人
2024-01-25 20:52:22
0

安装MinGW-w64及环境变量配置

下载MinGW-w64

可以通过官网直接进行下载在线安装包,然后在本地进行安装即可(但是基本都会由于网络超时等各种原因终止)。

因此这里建议直接下载 `MinGW-w64` 库解压,然后在系统中指定环境变量即可。

  •  `MinGW-w64` 库下载链接:

https://udomain.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-win32/seh/x86_64-8.1.0-release-win32-seh-rt_v6-rev0.7z

  • 解压缩

x86_64-8.1.0-release-win32-seh-rt_v6-rev0 直接解压到到当前文件即可,解压缩后会出现如下图所示的文件夹`mingw64`。

配置环境变量

win10系统中环境变量配置步骤:

  • 在系统属性页面点击环境变量
  • 在系统变量模块出找到Path,点击编辑按钮(如下如所示);
  • 在编辑环境变量页面添加mingw64的bin目录(如:D:\MingW\installing\mingw64\bin, 具体根据自己的安装目录修改)。

 

 

 至此,环境变量已经设置成功,可以通过如下步骤验证是否已经设置成功。

  • 打开CMD终端,输入 gcc -v 查看安装的版本等信息(下图最后一行显示的则是版本号,这里是 gcc version 8.1.0 版本)。
  • 如果可以成功走的这一步说明 MinGW-w64 以完全安装成功。

VSCode配置C++工作空间

这里需要已经下载并成功安装了 VSCode 软件(官网直接下载即可),同时安装了 C/C++ 相应的控件(百度搜索有很多的详细教程,这里不再赘述)。

创建目录结构

  • 创建 .vscode 目录,用于放置相应的配置文件;
  • 创建 cpp_sources 目录,用于放置编写的cpp代码;
  • 创建 build 目录,用于放置生成的 .exe 文件,当然也可以不用建该目录,直接和代码放在同一个文件夹也是可以的。

 

编写配置文件

首先在 .vscode 目录下新建文件 c_cpp_properties.json, launch.json, tasks.json。如下如所示:

编写 c_cpp_properties.json

在这里首先需要查看自己的 mingw 以及相应库的路径。

在CMD终端,输入命令 “ gcc -v -E -x c++ - ”,具体如下图所示。

这里需要的信息为上图中红色矩形框中信息,将其复制。然后替换 c_cpp_properties.json 文件中的“includePath” 和 “Path”中的信息。其他信息貌似不用作任何修改,然后保存即可。

{"configurations": [{"name": "Win32","includePath": [        "${workspaceRoot}","D:/MingW/installing/mingw64/include/*","D:/MingW/installing/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++","D:/MingW/installing/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32","D:/MingW/installing/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward","D:/MingW/installing/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include","D:/MingW/installing/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed","D:/MingW/installing/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"],"defines": ["_DEBUG","UNICODE","__GNUC__=6","__cdecl=__attribute__((__cdecl__))"],"intelliSenseMode": "msvc-x64","browse": {"limitSymbolsToIncludedHeaders": true,"databaseFilename": "","path": ["${workspaceRoot}","D:/MingW/installing/mingw64/include/**","D:/MingW/installing/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++","D:/MingW/installing/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32","D:/MingW/installing/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward","D:/MingW/installing/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include","D:/MingW/installing/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed","D:/MingW/installing/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"]}}],"version": 4
}

编写 launch.json

这里对于参数 "miDebuggerPath": "D:/MingW/installing/mingw64/bin/gdb.exe" 修改根据自己的目录进行修改。

参数 "program": "${workspaceFolder}/build/${fileBasenameNoExtension}.exe" 也需要根据自己的喜欢设置,用来保存可执行文件的路径。

其他的如果按照我的配置进行,应该不用修改。

{  "version": "0.2.0",  "configurations": [  {  "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示  "type": "cppdbg",       // 配置类型,这里只能为cppdbg  "request": "launch",    // 请求配置类型,可以为launch(启动)或attach(附加)  "program": "${workspaceFolder}/build/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径  "args": [],             // 程序调试时传递给程序的命令行参数,一般设为空即可  "stopAtEntry": false,   // 设为true时程序将暂停在程序入口处,一般设置为false  "cwd": "${workspaceFolder}", // 调试程序时的工作目录,一般为${workspaceFolder}即代码所在目录  "environment": [],  "externalConsole": false, // 调试时是否显示控制台窗口,一般设置为true显示控制台  "MIMode": "gdb",  "miDebuggerPath": "D:/MingW/installing/mingw64/bin/gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应  "preLaunchTask": "g++", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc  "setupCommands": [  {   "description": "Enable pretty-printing for gdb",  "text": "-enable-pretty-printing",  "ignoreFailures": true  }  ]  }  ]  
}

编写 tasks.json

这里需要确认可执行文件的输出路劲是否正确,其他参数可以不做修改。

{"version": "2.0.0","command": "g++","args": ["-g","${file}","-o","${workspaceFolder}/build/${fileBasenameNoExtension}.exe"], // 编译命令参数"problemMatcher": {"owner": "cpp","fileLocation": ["relative","\\"],"pattern": {"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$","file": 1,"line": 2,"column": 3,"severity": 4,"message": 5}}
}

至此,VSCode 中的配置也设置完成,下面可以通过简单的测试用例来试验。

测试编译环境

在 cpp_resourses 文件夹下新建文件 header.cpp 文件,任意编写几行简单的c++代码,如下所示:

点击下图右上角的 debug 选项,然后选择 (gdb) Launch ,可以看到代码开始编译。

 最后在终端可以看到打印的结果。

在这里,基于 VSCode 的 C++ 编译环境就完全配置好了,可以开心的码代码了。。。

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...