Mar*_*ark 5 windows mingw msys2
我下载了:
https://mingw-w64.org/doku.php/download/mingw-builds
https://mingw-w64.org/doku.php/download/msys2
并将它们安装在C:/development/msys64. 在此文件夹下,我找到了 msys2.exe 和 mingw64 文件夹,该文件夹又包含 bin 和所有 mingw 可执行文件。
我将C:/development/msys64/mingw64/bin文件夹添加到 PATH env var。事实上,我可以从 Windows 提示中调用 gcc - 例如。相反,在 msys2 shell 中,我找不到它们。我的意思是,他们在,/mingw64/bin但他们在提示时不可用。
我确定我错过了一些步骤!
Vis*_*hnu 16
从 MinGW-w32 切换到 MinGW-w64 的方法
(可执行文件链接可能会在未来版本中更改,这是针对版本 8.1.0,请在从此链接安装之前交叉验证最新版本)
Version: PICK LATEST
Architecture: x86_64
Threads: posix
Exception: seh
Run Code Online (Sandbox Code Playgroud)
如果有人尝试将 MinGW-w64 添加为 PATH 变量但无法找到该gdb.exe文件C:\msys64\mingw64\bin,请尝试在程序文件中查找它。
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!
安装路径不能包含任何空格(即“Program Files”
中的空格),否则稍后会产生冲突。
脚步:
1.卸载PC上安装的所有GCC版本 - Cygwin、MSYS2(32位)和mingw64(64位)并再次安装MinGW-w64,这次使用MSYS2。
如果调试器给出错误并且版本冲突,请重新开始!
2. 从此链接下载MSYS2安装程序。
安装过程很简单,按照网站上提到的步骤操作即可!
安装路径必须不包含任何空格。因此,我们无法在
Program Files.
3.安装完成后:打开MSYS2终端(pink icon)。
使用以下命令更新包数据库和基础包:
pacman -Syu
Run Code Online (Sandbox Code Playgroud)
之后,使用以下命令更新其余基础包:
pacman -Su
Run Code Online (Sandbox Code Playgroud)
4.现在切换到 MSYS2 MinGW 64 位终端( blue icon)。
为 C 和 C++ 安装 gcc 和 g++。
对于 64 位:
Run Code Online (Sandbox Code Playgroud)pacman -S mingw-w64-x86_64-gcc
安装调试器(gdb)。
对于 64 位:
Run Code Online (Sandbox Code Playgroud)pacman -S mingw-w64-x86_64-gdb
5.现在一切就绪!
检查版本:
gcc --version
g++ --version
gdb --version
Run Code Online (Sandbox Code Playgroud)
6.最后,删除旧的环境变量(如果有)并将新的环境变量添加到PATH!
在 VSCode 中调试文件之前,请确保-g在构建时添加标记,否则断点将被调试器忽略!
脚注: 将所有版本保存在一个文件夹中非常重要,如果文件夹不同,那么以后的生活就会变得艰难!
MSYS2 有它自己的 GCC 工具链的包,你最好使用这些工具链而不是下载不同的工具链。例如,要使用 64 位 MinGW GCC,您必须运行pacman -S x86_64-w64-mingw32-toolchain并确保使用“MinGW-w64 64 位 Shell”快捷方式(或类似方式)启动 MSYS2,以便它/mingw64/bin在您的 PATH 中。
此外,MSYS2 不尊重您的系统或用户环境变量;默认情况下,它使用自己的 PATH。