1. window系统 c++ 环境配置
1.1 配置MinGw编译器
(1)下载mingw64
mingw64 的按照包,我已经放在百度网盘上了,搭建可自行下载:
链接: https://pan.baidu.com/s/1NoPGAYFuP5ysXTf8wtvbEA?pwd=wd6w 提取码: wd6w
(2)配置环境变量
将下载好的mingw64.zip解压,找到解压后bin文件所在路径
然后将bin所在路径,如我这里的D:\install\mingw64\bin 添加到系统环境变量中。
(3)验证是否安装成功
命令提示符中cmd窗口输入gcc -v或gcc --version,若显示版本号则说明安装成功
1.2 配置C/C++环境
C++环境是通过c_pp_propertoes.json,launch.json和tasks.json三个文件配置的。
方法1 利用工具自动配置
本文介绍一种非常简单的环境配置方法,借助网上提供的vscode c++配置器来实现。
-
在https://v4.vscch.tk/ 下载安装包
-
解压安装包,并点击vscch.exe 进行一步步按照;安装非常简单,按照默认安装方式即可。
该工具可以自动识别MinGW编译器的安装位置,如果没有添加到环境变量中,它会自动帮忙配置到环境变量。
-
如果未下载MinGW,它会提示你下载,然后帮忙自动配置环境变量。
-
完成安装后,会自动在你选择的工作路径下,生成配置好的c_pp_propertoes.json,launch.json和tasks.json, 以及helloworld.cpp测试代码。可以运行,测试c++环境是否配置成功:
注意: 根据自动生成的json配置,只能在安装时指定的工作目录下,编写c++ code才有效,因此做了如下修改,这样将3个json拷贝到其他目录,也可以运行和调试c++程序。 将single file build改为build
launch.json的修改如下:
tasks.json的修改如下:
方法2 直接创建3个json文件
在项目目录上创建.vscode目录,并创建c_cpp_properties.json,launch.json,tasks.json,三个json文件的按照我提供的配置。
(1) c_cpp_properties.json
Python{ "configurations": [ { "name": "Win32", "includePath": ["${workspaceFolder}/**"], "defines": ["_DEBUG", "Unicode", "_UNICODE"], "WindowsSdkVersion": "10.0.17763.0", "compilerPath": "D:\\install\\mingw64\\bin\\g++.exe", /*修改成自己bin目录下的g++.exe,这里的路径和电脑里复制的文件目录有一点不一样,这里是两个反斜杠\\*/ "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "${default}" } ], "version": 4 }
(2) launch.json
Python{ "version": "0.2.0", "configurations": [ { "name": "g++.exe build and debug active file", "type": "cppdbg", "request": "launch", "program": "${fileDirname}\\${fileBasenameNoExtension}.exe", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "gdb", "miDebuggerPath": "D:\\install\\mingw64\\bin\\g++.exe", /*修改成自己bin目录下的g++.exe,这里的路径和电脑里复制的文件目录有一点不一样,这里是两个反斜杠\\*/ "setupCommands": [{ "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true }], } ] }
(3) tasks.json
Python{ "tasks": [ { "type": "cppbuild", "label": "C/C++: g++.exe 生成活动文件", "command": "D:\\install\\mingw64\\bin\\g++.exe", /*修改成自己bin目录下的g++.exe,这里的路径和电脑里复制的文件目录有一点不一样,这里是两个反斜杠\\*/ "args": [ "-fdiagnostics-color=always", "-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe" ], "options": { "cwd": "${fileDirname}" }, "problemMatcher": [ "$gcc" ], "group": { "kind": "build", "isDefault": true }, "detail": "调试器生成的任务。" } ], "version": "2.0.0" }
注意: 将这3个json文件中的D:\\install\\mingw64 路径设置为你本机自己的路径
1.3 C/C++环境测试
编写一个测试的helloworld.cpp,代码如下:
Python// 按下 F6 编译运行。 // 按下 F5 编译调试。 // 按下 Ctrl + Shift + B 编译。 #include int main() { // 在标准输出中打印 "Hello, world!" std::cout "files.associations": { "*.cpp": "cpp", "*.cu": "cuda-cpp", "deque": "cpp", "string": "cpp", "vector": "cpp", "*.tcc": "cpp", "__hash_table": "cpp", "__split_buffer": "cpp", "__tree": "cpp", "array": "cpp", "bitset": "cpp", "initializer_list": "cpp", "iterator": "cpp", "map": "cpp", "queue": "cpp", "random": "cpp", "set": "cpp", "stack": "cpp", "string_view": "cpp", "unordered_map": "cpp", "utility": "cpp", "__atomic": "cpp", "__functional_base": "cpp", "__functional_base_03": "cpp", "__tuple": "cpp", "algorithm": "cpp", "chrono": "cpp", "type_traits": "cpp", "filesystem": "cpp", "functional": "cpp", "limits": "cpp", "memory": "cpp", "ratio": "cpp", "tuple": "cpp", "istream": "cpp", "ostream": "cpp", "future": "cpp", "cctype": "cpp", "clocale": "cpp", "cmath": "cpp", "cstdarg": "cpp", "cstddef": "cpp", "cstdio": "cpp", "cstdlib": "cpp", "cstring": "cpp", "ctime": "cpp", "cwchar": "cpp", "cwctype": "cpp", "atomic": "cpp", "hash_map": "cpp", "hash_set": "cpp", "bit": "cpp", "codecvt": "cpp", "complex": "cpp", "condition_variable": "cpp", "cstdint": "cpp", "list": "cpp", "unordered_set": "cpp", "exception": "cpp", "memory_resource": "cpp", "numeric": "cpp", "optional": "cpp", "system_error": "cpp", "fstream": "cpp", "iomanip": "cpp", "iosfwd": "cpp", "iostream": "cpp", "mutex": "cpp", "new": "cpp", "sstream": "cpp", "stdexcept": "cpp", "streambuf": "cpp", "thread": "cpp", "cfenv": "cpp", "cinttypes": "cpp", "typeindex": "cpp", "typeinfo": "cpp", "ios": "cpp", "__nullptr": "cpp", "__bit_reference": "cpp", "__node_handle": "cpp", "__locale": "cpp", "variant": "cpp" } } "configurations": [ { "name": "Linux", "includePath": [ "${workspaceFolder}/**", "/home/yuanwushui/anaconda3/lib/python3.9/site-packages/trtpy/trt8cuda112cudnn8/include/**", "/home/yuanwushui/anaconda3/lib/python3.9/site-packages/trtpy/cpp-packages/opencv4.2/include/**" ], "compilerPath": "/usr/bin/gcc", "cStandard": "gnu11", "cppStandard": "gnu++11", "intelliSenseMode": "linux-gcc-x64" } ], "version": 4 } "version": "2.0.0", "tasks": [ { "label": "build", "type": "shell", "command": "make pro -j6" } ] } "version": "0.2.0", "configurations": [ { "name": "program-debug", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/workspace/pro", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}/workspace", "externalConsole": false, "MIMode": "gdb", "miDebuggerPath": "/usr/bin/gdb", "environment": [ { "name": "LD_LIBRARY_PATH", "value": "/home/yuanwushui/anaconda3/lib/python3.9/site-packages/trtpy/trt8cuda112cudnn8/lib64:/home/yuanwushui/anaconda3/lib:/home/yuanwushui/anaconda3/lib/python3.9/site-packages/trtpy/trt8cuda112cudnn8/py39:/home/yuanwushui/anaconda3/lib/python3.9/site-packages/trtpy/cpp-packages/opencv4.2/lib:/home/yuanwushui/anaconda3/lib/python3.9/site-packages/trtpy/lib:$LD_LIBRARY_PATH" } ], "setupCommands": [ { "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "build" } ] } "name": "LD_LIBRARY_PATH", "value": "/home/yuanwushui/anaconda3/lib/python3.9/site-packages/trtpy/trt8cuda112cudnn8/lib64:/home/yuanwushui/anaconda3/lib:/home/yuanwushui/anaconda3/lib/python3.9/site-packages/trtpy/trt8cuda112cudnn8/py39:/home/yuanwushui/anaconda3/lib/python3.9/site-packages/trtpy/cpp-packages/opencv4.2/lib:/home/yuanwushui/anaconda3/lib/python3.9/site-packages/trtpy/lib:$LD_LIBRARY_PATH" } ], "text": "-enable-pretty-printing", "ignoreFailures": true } ],