c++ - 在 cmd 和 vs 代码中都没有检测到 g++
问题描述
使用 Windows 10 并尝试设置 vs 代码,我使用包 mingw32-gcc-g++-bin 安装了 MinGW;修改windows路径,添加“;C:\MinGW\bin”行,mi json文件如下:
{
"name": "Win32",
"includePath": [
"C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.11.25503/include/*",
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.16299.0/um",
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.16299.0/ucrt",
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.16299.0/shared",
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.16299.0/winrt",
"C:/MinGW/bin",
"${workspaceRoot}",
"${workspaceFolder}"
],
"defines": [
"_DEBUG",
"UNICODE"
],
"compilerPath": "C:/MinGW/bin/g++",
"intelliSenseMode": "msvc-x64",
"browse": {
"path": [
"C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.11.25503/include/*",
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.16299.0/um",
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.16299.0/ucrt",
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.16299.0/shared",
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.16299.0/winrt",
"C:/MinGW/bin",
"${workspaceRoot}",
"${workspaceFolder}"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
}
我也尝试从 cmd 终端调用 g++,但它仍然失败,“g++ 不被识别为内部或外部命令......”
解决方案
“g++ 未被识别为内部或外部命令”表示在 PATH 中找不到 g++。程序安装不正确,或者 PATH 设置不正确。
首先检查 g++ 是否真的在 PATH 中。打开一个新终端并编写 g++。如果出现错误消息,请执行
cd C:\MinGW\bin
g++
. Windows 不仅在 PATH 变量中搜索,而且还在当前目录中搜索。如果错误消息仍然存在,则在那里找不到 g++(您可以在文件资源管理器中看到当前路径的 g++.exe 吗?)。如果错误消息消失并且应用程序启动(但抱怨缺少参数)路径设置不正确。通过执行检查路径变量
echo %PATH%
并验证 C:\MinGW\bin 是否丢失。首先在本地添加它,然后尝试从另一个目录执行 g++: set PATH=%PATH%;C:\MinGW\bin cd .. g++ 我们现在从父文件夹调用 g++,它现在应该可以工作了,因为 g++ 现在是在 PATH 中成功找到。但是请注意,这是一个本地 PATH,只能在当前命令提示符下找到它。
将 g++ 添加到用户或全局路径:https ://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/
添加链接中的变量后,重新启动终端并尝试再次执行 g++,但这次成功。重新启动 Visual Studio Code 以重新加载路径变量,程序也应该能够找到 g++。
推荐阅读
- c# - 使用反射获取属性值的空验证
- css - 无法更改引导工具提示“箭头”的 CSS
- python-3.x - Python 密码学:不支持 RSA 密钥格式
- angular - Angular/RxJS:带有可观察对象的嵌套服务调用
- forms - 如何删除动态添加的texbox
- kubernetes - minikube 启动失败解决方法清除传递给 kubeadm init 的所有参数
- python - Pandas 根据多列/行条件添加不同的行
- java - Hibernate 无法创建到数据库服务器的连接
- android - 如何将使用过的图像存储到一个可绘制文件夹中以减少 android 应用程序中的内存
- apache-kafka - Kafka Streams 何时反序列化