VS Code中g++未被检测到的问题排查与解决请求
Let's work through this issue step by step—your error ('g++' is not recognized) usually boils down to two key problems: hidden invalid characters in your task config, or MinGW not being added to your system PATH.
1. Remove Hidden Characters from tasks.json
Looking at your tasks.json, the command field has invisible special characters before g++ (you can see it's written as "g++"). These are almost certainly from copying/pasting, and they're breaking the command recognition.
Fix it by replacing the command with plain "g++":
{ "version": "2.0.0", "tasks": [ { "label": "build", "type": "shell", "command": "g++", "args": [ "-g", "Calculator.cpp", "-o", "Calculator" ], "group": { "kind": "build", "isDefault": true }, "problemMatcher":"$gcc" } ] }
2. Add MinGW's bin Folder to System PATH
The main reason g++ isn't recognized is that your system doesn't know where to find it. You need to add MinGW's bin directory to your system's PATH environment variable:
- Locate your MinGW install path (from your config, it's
C:\MinGW\bin) - Press Win+R, type
sysdm.cpl, and hit Enter to open System Properties - Go to the Advanced tab, click Environment Variables
- Under System Variables, find
Path, click Edit - Click New, paste
C:\MinGW\bin, and save all changes - Restart VS Code completely—this is critical, as VS Code won't pick up new environment variables until you restart it
3. Verify g++ Works System-Wide
After restarting, open VS Code's terminal (or a regular Command Prompt) and run:
g++ --version
If you see output with g++'s version number, you're good to go. Try running your build task again—it should compile successfully now.
Bonus: Tweak c_cpp_properties.json for MinGW
Your current Win32 config uses Visual Studio's include paths, which might cause IntelliSense issues with MinGW. Update it to use MinGW's paths instead:
{ "name": "Win32", "includePath": [ "${workspaceRoot}", "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++", "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/mingw32", "C:/MinGW/include" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE" ], "intelliSenseMode": "gcc-x64", "browse": { "path": [ "${workspaceRoot}", "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++", "C:/MinGW/include" ], "limitSymbolsToIncludedHeaders": true, "databaseFilename": "" } }
内容的提问来源于stack exchange,提问作者RD Department

