vscode C++ 环境搭建
1.安装mingw-w64
- 下载mingw-w64、安装、配置环境变量
- 注:认准mingw-w64
- powershell or cmd,键入命令gcc -v,若显示版本号,那就成功啦
2.安装C/C++插件
-
需要配置 3 个文件,阅读以下文件中的注释
- c_cpp_properties.json
- tasks.json
- launch.json
-
c_cpp_properties.json
设置头文件、编译器的目录。
-
注:此文件不允许注释,记得删除
{ "configurations": [ { "name": "Win32", "includePath": [ //includePath 头文件目录 "${workspaceFolder}", "S:/Env/LLVM/include", "S:/Env/LLVM/lib/gcc/x86_64-w64-mingw32/8.1.0/include", "S:/Env/openGL/include" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE" ], "compilerPath": "S:/Env/LLVM/bin/gcc.exe", //user\mingw\bin\gcc.exe 需要自己配置 "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "clang-x64", "browse": { //includePath 头文件目录 "path": [ "${workspaceFolder}", "S:/Env/LLVM/include", "S:/Env/LLVM/lib/gcc/x86_64-w64-mingw32/8.1.0/include", "S:/Env/openGL/include" ], "limitSymbolsToIncludedHeaders": true, "databaseFilename": "" } } ], "version": 4 }
-
-
tasks.json
配置编译命令。
这里提供两个版本。g++ build 和 g++ make-
g++ build 只能编译单cpp文件(可以后面自己扩展)
-
g++ make 会配合 makefile 使用,后面再谈
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "g++ build", "type": "shell", "command": "g++", //g++命令 "args": [ "-g", //debug "${file}", //需要编译的文件 "-o", //输出 "${fileDirname}\\main.exe" //输出程序的绝对路径 //注:launch文件中的 "program": "${fileDirname}\\main.exe"路径 要与 此路径对应 ], //否则无法调试 "group": { "kind": "build", "isDefault": true }, // "problemMatcher": [ //C/C++插件提供的problemMatcher,文件路径有问题,会出现找不到文件的错误 // "$gcc" // ] "problemMatcher": { //自己编写的,正常运行 "owner": "cpp", "fileLocation": [ "relative", "\\" ], "pattern": { "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", "file": 1, "line": 2, "column": 3, "severity": 4, "message": 5 } } }, { "label": "g++ make", "type": "shell", "command": "make", "args": [], // "problemMatcher": [ // "$gcc" // ] "problemMatcher": { "owner": "cpp", "fileLocation": [ "relative", "\\" ], "pattern": { "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", "file": 1, "line": 2, "column": 3, "severity": 4, "message": 5 } } } ] }
-
-
launch.json
调试所用到的配置文件
{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${fileDirname}\\main.exe", //需要调试的程序的路径 "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "gdb", "miDebuggerPath": "S:\\Env\\LLVM\\bin\\gdb.exe", //user\mingw\bin\gdb.exe 需要自己配置 "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], // "preLaunchTask": "g++ make" //调试前调用的task,名称对应 task 中的 label "preLaunchTask": "g++ build" } ] }
3.使用make命令来进行编译
-
MakeFile
make命令必须要一个makefile,而makefile中则要编写一个“规则”,按照此规则进行编译。
CXX := g++ CXX_FLAGS := -g -std=c++17 # -Wextra -static-libgcc -Wall # makefile文件所在的目录/SRC/*.cpp ,即相对路径 SRC := 04_stl/02_list # 外部库头文件 INCLUDE := #S:/Env/openGL/include # 头文件对应的库 LIB := #S:/Env/openGL/libs # 需要连接的外部库,在 LIB 中查找 LIBRARIES := #-lglad -lglfw3 -lglfw3dll # 生成可执行文件的名称 EXECUTABLE := main all: ./$(SRC)/$(EXECUTABLE) run: all ./$(SRC)/$(EXECUTABLE) $(SRC)/$(EXECUTABLE): $(SRC)/*.cpp #$(SRC)/*.c $(CXX) $(CXX_FLAGS) -I$(INCLUDE) -L$(LIB) $^ -o $@ $(LIBRARIES) # 注:目录后面不要有多余的空格 # CXX CXX_FLAGS 都是一些定义,怎样使用? $(CXX) $(CXX_FLAGS) # $@ 代表 $(SRC)/$(EXECUTABLE),即冒号左边;$^ 代表 $(SRC)/*.cpp。即冒号右边 # -g -I -L -o 等命令不做过多解释了,想了解更多命令的话,查阅GCC命令手册 -
make
当我们写好makefile后,通过powershell或者cmd,跳转到makefile所在目录下,输入make命令,便能直接生成可执行文件了。输入make run则能生成并执行程序。
- 注:可能有些版本的mingw,不叫 make.exe,叫做 mingw32-make.exe。改个名字即可。
-
通过launch调用make命令进行编译
更改launch文件 “preLaunchTask” 为 “g++ make”
- 注:makefile中的可执行程序的输出目录 要与 launch中的 “program”: “${fileDirname}\main.exe” 相对应。不然gdb就找不到需要的程序进行调试。
-
关于项目结构的更多信息 可以参考C/C++ Project Generator插件。
4.可选插件
-
Include Autocomplete:对C/C++进行补充。
-
C/C++ Clang Command Adapter :需要额外安装Clang。
-
C++ Intellinsense:查找所有引用。需要安装GNU Global。安装 version >= 6.5 的版本。
将压缩包中的bin 、lib 、share 等文件夹 解压到 mingw 合并即可。这样就直接使用mingw的环境变量,不用再配置环境变量了。
在工程目录下输入gtags,就能使用啦。记住,在修改完代码后需要重新在源码工程目录下键入“gtags”命令来重新建立Tags。
链接:http://adoxa.altervista.org/global/ ,可能需要V-P-N。
- 注:能用,但效果不太好, 且繁琐。
5.总结
更新到现在,官方C/C++插件才0.20.1版本。C#插件都1.16.2了。吃瓜。
vscode不太适合用来学习C++,配置繁琐,IntelliSense 等效果远不如IDE。但期待vscode会变得更好吧,虽然它只是个编辑器。
本文详细介绍了如何在Windows上使用Visual Studio Code(VSCode)搭建C++开发环境,包括安装mingw-w64,安装C/C++插件,配置c_cpp_properties.json、tasks.json和launch.json文件,以及使用make命令进行编译和调试。此外,还提及了一些可选插件如Include Autocomplete和C++ Intellisense,以增强开发体验。

7580

被折叠的 条评论
为什么被折叠?



