VS Code 對C++ 單文件、多文件(CMake工程) 配置文件


針對於單文件編譯運行,需要在代碼文件夾下建立子文件夾 .vscode ,並放置三個文件

1:c_cpp_properties.json,注意更改7、8、11行的路徑

 1 {
 2     "configurations": [
 3         {
 4             "name": "Win32",
 5             "includePath": [
 6                 "${workspaceFolder}",
 7                 "C:\\MinGw\\x86_64-w64-mingw32\\include",
 8                 "C:\\MinGw\\include"
 9             ],
10             "defines": ["_DEBUG", "UNICODE", "_UNICODE"],
11             "compilerPath": "C:\\MinGw\\bin\\g++.exe",
12             "cStandard": "c11",
13             "cppStandard": "c++11",
14             "intelliSenseMode": "gcc-x64"
15         }
16     ],
17     "version": 4
18 }

 

2:launch.json,注意更改19行gdb路徑

 1 {
 2     "version": "0.2.0",
 3     "configurations": [
 4 
 5         {
 6             "name": "Build",
 7             "type": "cppdbg",
 8             "request": "launch",
 9             "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",
10             "args": [],
11             "stopAtEntry": false,
12             "cwd": "${workspaceFolder}",
13             "environment": [],
14             "externalConsole": false,
15             "MIMode": "gdb",
16             "logging": {
17                 "engineLogging": false
18             },
19             "miDebuggerPath": "C:/MinGw/bin/gdb.exe",
20             "setupCommands": [
21                 {
22                     "description": "為 gdb 啟用整齊打印",
23                     "text": "-enable-pretty-printing",
24                     "ignoreFailures": true
25                 }
26             ],
27             "internalConsoleOptions": 
28         }
29     ]
30 }

 

 

3:tasks.json

 1 {
 2   "version": "2.0.0",
 3   "tasks": [
 4     {
 5       "label": "Compile",
 6       "type": "shell",
 7       "command": "g++",
 8       "args": ["-g", "${file}", "-o", "${fileBasenameNoExtension}.exe"],
 9       "group": {
10         "kind": "build",
11         "isDefault": true
12       }
13     }
14   ]
15 }

 

 

針對於工程構建,需要在代碼文件夾下建立CMakeLists.txt,並建立子文件夾 .vscode ,放置兩個文件

1:CMakeLists.txt

 1 # 最低CMake版本要求
 2 cmake_minimum_required(VERSION 3.10.0)
 3 
 4 # 項目名稱
 5 project(cmake-test)
 6 
 7 # 設置C/C++標准
 8 set(CMAKE_C_STANDARD 11)
 9 set(CMAKE_CXX_STANDARD 17)
10 set(CMAKE_CXX_STANDARD_REQUIRED ON)
11 
12 # 頭文件路徑
13 include_directories("Inc")
14 
15 # 枚舉頭文件
16 file(GLOB_RECURSE INCLUDES "Inc/*.h" "Inc/*.hpp")
17 
18 # 枚舉源文件
19 aux_source_directory("Src" SOURCES)
20 
21 # 輸出路徑
22 set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
23 
24 # 生成可執行的文件
25 add_executable(${PROJECT_NAME} ${SOURCES} ${INCLUDES})

 

2:c_cpp_properties.json

 1 {
 2     "configurations": [
 3         {
 4             "name": "Win32",
 5             "intelliSenseMode": "gcc-x64",
 6             "includePath": ["${workspaceFolder}/Inc/"],
 7             "cStandard": "c11",
 8             "cppStandard": "c++11",
 9             "configurationProvider": "vector-of-bool.cmake-tools"
10         }
11     ],
12     "version": 4
13 }

 

3:launch.json,注意更改15行gdb路徑

 1 {
 2     "version": "0.2.0",
 3     "configurations": [
 4         {
 5             "name": "CMake-Build",
 6             "type": "cppdbg",
 7             "request": "launch",
 8             "program": "${command:cmake.launchTargetPath}",
 9             "args": [],
10             "stopAtEntry": false,
11             "cwd": "${workspaceFolder}",
12             "environment": [],
13             "externalConsole": false,
14             "MIMode": "gdb",
15             "miDebuggerPath": "C:/MinGw/bin/gdb.exe",
16             "setupCommands": [
17                 {
18                     "description": "Enable pretty-printing for gdb",
19                     "text": "-enable-pretty-printing",
20                     "ignoreFailures": false
21                 }
22             ]
23         }
24     ]
25 }

 

視頻教程推薦:https://www.bilibili.com/video/av18436497?p=1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM