win10 64位下 VSCode 配置 C/C++ 開發環境


1、下載、安裝 c/c++編譯器
2、下載、安裝 vscode
3、vscode內安裝c/c++擴展
4、配置c/c++環境

1、我選擇的是MinGW編譯器,https://sourceforge.net/projects/mingw-w64/files/mingw-w64/

x86_64 和 i686 架構

w64 和 posix 是線程,windows選 w64,linux選posix

最后面是異常模型,我選的seh

win10 64位 選的是 x86_64-win32-seh

 

 

 

 

下載的 解壓 

將 \mingw64\bin 加到環境變量中

 

 

(注意 選擇MinGW-W64-install.exe 后續下載可能會很慢)

 

2、下載安裝vscode。 https://code.visualstudio.com/ 自行根據操作系統選擇下載,一路next即可

3、安裝好vscode后,Ctrl+Shift+x 打開擴展,搜索 c/c++ 后安裝

 

 

 

4、配置c/c++環境

4.1、配置編譯器

vscode中  按 Ctrl+Shift+P,在調出的命令面板中 輸入 c/c++, 選擇 c/c++:編輯配置(UI) 或 c/c++:Edit Configurations(UI) 進入配置

 

要改兩個地方

(1)、編譯器路徑,改為MinGW解壓路徑中g++.exe的完整路徑

(2)、IntelliSense 模式 改為 gcc-x64

 

 

   配置完成后,此時在側邊欄可以發現多了一個.vscode文件夾,並且里面有一個c_cpp_properties.json文件,內容如下,說明上述配置成功。現在可以通過Ctrl+<`快捷鍵打開內置終端並進行編譯運行了。

 1 {
 2     "configurations": [
 3         {
 4             "name": "Win32",
 5             "includePath": [
 6                 "${workspaceFolder}/**"
 7             ],
 8             "defines": [
 9                 "_DEBUG",
10                 "UNICODE",
11                 "_UNICODE"
12             ],
13             "windowsSdkVersion": "10.0.17763.0",
14             "compilerPath": "E:\\C\\x86_64-8.1.0-release-win32-seh-rt_v6-rev0\\mingw64\\bin\\g++.exe",
15             "cStandard": "c17",
16             "cppStandard": "c++17",
17             "intelliSenseMode": "gcc-x64"
18         }
19     ],
20     "version": 4
21 }

 

 4.2、配置構建任務

Ctrl+Shift+P調出命令面板,輸入tasks,選擇“Tasks:Configure Default Build Task”:

然后再選擇 c/c++:g++.exe build active file

 

 

 

 此時會出現一個名為tasks.json的配置文件,內容如下:

 1 {
 2     "version": "2.0.0",
 3     "tasks": [
 4         {
 5             "type": "cppbuild",
 6             "label": "C/C++: g++.exe build active file",
 7             "command": "E:\\C\\x86_64-8.1.0-release-win32-seh-rt_v6-rev0\\mingw64\\bin\\g++.exe",
 8             "args": [
 9                 "-g",
10                 "${file}",
11                 "-o",
12                 "${fileDirname}\\${fileBasenameNoExtension}.exe"
13             ],
14             "options": {
15                 "cwd": "E:\\C\\x86_64-8.1.0-release-win32-seh-rt_v6-rev0\\mingw64\\bin"
16             },
17             "problemMatcher": [
18                 "$gcc"
19             ],
20             "group": {
21                 "kind": "build",
22                 "isDefault": true
23             },
24             "detail": "compiler: E:\\C\\x86_64-8.1.0-release-win32-seh-rt_v6-rev0\\mingw64\\bin\\g++.exe"
25         }
26     ]
27 }

4.3、配置調試設置

點擊菜單欄的Debug-->Start Debugging

 

 

 vscode會新建 launch.json文件,preLaunchTask 要填上一步task.json的label的內容,miDebuggerPath 要填寫 MinGW解壓路徑中gdb.exe的完整路徑

 1 {
 2     // Use IntelliSense to learn about possible attributes.
 3     // Hover to view descriptions of existing attributes.
 4     // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
 5     "version": "0.2.0",
 6     "configurations": [
 7         {
 8             "name": "(gdb) 啟動",
 9             "preLaunchTask": "C/C++: g++.exe build active file",
10             "type": "cppdbg",
11             "request": "launch",
12             "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
13             "args": [],
14             "stopAtEntry": false,
15             "cwd": "${workspaceFolder}",
16             "environment": [],
17             "externalConsole": false,
18             "MIMode": "gdb",
19             "miDebuggerPath": "E:\\C\\x86_64-8.1.0-release-win32-seh-rt_v6-rev0\\mingw64\\bin\\gdb.exe",
20             "setupCommands": [
21                 {
22                     "description": "為 gdb 啟用整齊打印",
23                     "text": "-enable-pretty-printing",
24                     "ignoreFailures": true
25                 }
26             ]
27         }
28     ]
29 }

 

以上 配置完成

以下測試

新建main.c文件,寫入以下內容,按F5運行。

 1 #include <stdio.h>
 2 #include <time.h>
 3  
 4 #define BST (+1)
 5 #define CCT (+8)
 6  
 7 int main ()
 8 {
 9  
10    time_t rawtime;
11    struct tm *info;
12  
13    time(&rawtime);
14    /* 獲取 GMT 時間 */
15    info = gmtime(&rawtime );
16    
17    printf("當前的世界時鍾:\n");
18    printf("倫敦:%2d:%02d\n", (info->tm_hour+BST)%24, info->tm_min);
19    printf("中國:%2d:%02d\n", (info->tm_hour+CCT)%24, info->tm_min);
20  
21    return(0);
22 }

 

結果如下圖

 


免責聲明!

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



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