安装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++ 编译环境就完全配置好了,可以开心的码代码了。。。