msys2 找不到 mingw64
msys2 doesn't find mingw64
我下载了:
https://mingw-w64.org/doku.php/download/mingw-builds
https://mingw-w64.org/doku.php/download/msys2
并将它们安装在 C:/development/msys64
下。在此文件夹下,我找到 msys2.exe 和 mingw64 文件夹,该文件夹又包含包含所有 mingw 可执行文件的 bin。
我将 C:/development/msys64/mingw64/bin
文件夹添加到 PATH 环境变量中。
事实上,在 Windows 提示符下,我可以调用 gcc - 例如。相反,在 msys2 shell 中我找不到它们。我的意思是,它们在 /mingw64/bin
中,但在提示时不可用。
我确定我错过了一些步骤!
MSYS2 有自己的 GCC 工具链包,您最好使用这些工具链而不是下载一个不同的工具链。例如,要使用 64 位 MinGW GCC,您必须 运行 pacman -S x86_64-w64-mingw32-toolchain
然后确保您使用 "MinGW-w64 64-bit Shell" 快捷方式(或类似的东西)启动 MSYS2,以便/mingw64/bin
在您的路径上。
此外,MSYS2 不尊重您的系统或用户环境变量;它默认使用自己的 PATH。
从MinGW-w32切换到MinGW-w64的方法
Download MinGW-w64的可执行文件 参考EDIT
(可执行文件 link 可能会在未来的版本中更改,这是针对版本 8.1.0,请在从此 link 安装之前交叉验证最新版本)
- 安装过程(在设置中):
Version: PICK LATEST
Architecture: x86_64
Threads: posix
Exception: seh
如果有人试图将 MinGW-w64 添加为 PATH 变量,但无法在 C:\msys64\mingw64\bin
中找到 gdb.exe
,请尝试寻找 它在程序文件中.
C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin
gdb.exe
和其他文件位于此目录中。
编辑:
在 VSCode 中的 launch.json 文件中进行一些更改后,MinGW-w64 GDB 调试器开始出错,因为不同文件夹中有 2 个版本的 MinGW,即 MINGW 和 mingw64!
安装路径必须不包含任何spaces
(即 “Program Files” 中的 space),这将在以后产生冲突。
步骤:
1.卸载PC中安装的所有版本的GCC - Cygwin,MSYS2(32位)和mingw64(64位)并再次安装MinGW-w64 ,这次用的是MSYS2.
如果调试器出现错误并且版本冲突,请重新开始!
2. Download 来自此 link.
的 MSYS2 安装程序
安装过程很简单,按照网站上提到的步骤即可!
It is essential that the installation path does not contain any spaces. Therefore, we cannot install MinGW-w64 in Program Files
.
3. 安装完成后:打开MSYS2终端(pink icon
).
更新包数据库和基础包使用:
pacman -Syu
在此之后,使用以下方式更新其余基础包:
pacman -Su
4. 现在切换到 MSYS2 MinGW 64 位终端 (blue icon
).
为 C 和 C++ 安装 gcc 和 g++。
For 64 bit:
pacman -S mingw-w64-x86_64-gcc
安装调试器 (gdb)。
For 64 bit:
pacman -S mingw-w64-x86_64-gdb
5. 现在大功告成!
检查版本:
gcc --version
g++ --version
gdb --version
6. 最后,删除旧的环境变量(如果有的话)并将新的环境变量添加到PATH!
在 VSCode 中调试文件之前,确保在构建时添加 -g
标记,否则断点将被调试器忽略!
脚注:
把所有的版本都放在一个文件夹里很重要,如果文件夹不一样,以后就麻烦了!
我下载了:
https://mingw-w64.org/doku.php/download/mingw-builds
https://mingw-w64.org/doku.php/download/msys2
并将它们安装在 C:/development/msys64
下。在此文件夹下,我找到 msys2.exe 和 mingw64 文件夹,该文件夹又包含包含所有 mingw 可执行文件的 bin。
我将 C:/development/msys64/mingw64/bin
文件夹添加到 PATH 环境变量中。
事实上,在 Windows 提示符下,我可以调用 gcc - 例如。相反,在 msys2 shell 中我找不到它们。我的意思是,它们在 /mingw64/bin
中,但在提示时不可用。
我确定我错过了一些步骤!
MSYS2 有自己的 GCC 工具链包,您最好使用这些工具链而不是下载一个不同的工具链。例如,要使用 64 位 MinGW GCC,您必须 运行 pacman -S x86_64-w64-mingw32-toolchain
然后确保您使用 "MinGW-w64 64-bit Shell" 快捷方式(或类似的东西)启动 MSYS2,以便/mingw64/bin
在您的路径上。
此外,MSYS2 不尊重您的系统或用户环境变量;它默认使用自己的 PATH。
从MinGW-w32切换到MinGW-w64的方法
Download MinGW-w64的可执行文件参考EDIT
(可执行文件 link 可能会在未来的版本中更改,这是针对版本 8.1.0,请在从此 link 安装之前交叉验证最新版本)
- 安装过程(在设置中):
Version: PICK LATEST
Architecture: x86_64
Threads: posix
Exception: seh
如果有人试图将 MinGW-w64 添加为 PATH 变量,但无法在 C:\msys64\mingw64\bin
中找到 gdb.exe
,请尝试寻找 它在程序文件中.
C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin
gdb.exe
和其他文件位于此目录中。
编辑:
在 VSCode 中的 launch.json 文件中进行一些更改后,MinGW-w64 GDB 调试器开始出错,因为不同文件夹中有 2 个版本的 MinGW,即 MINGW 和 mingw64!
安装路径必须不包含任何spaces
(即 “Program Files” 中的 space),这将在以后产生冲突。
步骤:
1.卸载PC中安装的所有版本的GCC - Cygwin,MSYS2(32位)和mingw64(64位)并再次安装MinGW-w64 ,这次用的是MSYS2.
如果调试器出现错误并且版本冲突,请重新开始!
2. Download 来自此 link.
的 MSYS2 安装程序安装过程很简单,按照网站上提到的步骤即可!
It is essential that the installation path does not contain any spaces. Therefore, we cannot install MinGW-w64 in
Program Files
.
3. 安装完成后:打开MSYS2终端(pink icon
).
更新包数据库和基础包使用:
pacman -Syu
在此之后,使用以下方式更新其余基础包:
pacman -Su
4. 现在切换到 MSYS2 MinGW 64 位终端 (blue icon
).
为 C 和 C++ 安装 gcc 和 g++。
For 64 bit:
pacman -S mingw-w64-x86_64-gcc
安装调试器 (gdb)。
For 64 bit:
pacman -S mingw-w64-x86_64-gdb
5. 现在大功告成!
检查版本:
gcc --version
g++ --version
gdb --version
6. 最后,删除旧的环境变量(如果有的话)并将新的环境变量添加到PATH!
在 VSCode 中调试文件之前,确保在构建时添加 -g
标记,否则断点将被调试器忽略!
脚注: 把所有的版本都放在一个文件夹里很重要,如果文件夹不一样,以后就麻烦了!