如何在WSL2 Ubuntu22.04中安装指定版本i686-w64-mingw32-g++
安装指定版本MinGW 4.9.3(i686-w64-mingw32)在WSL2 Ubuntu 22.04 LTS
Ubuntu 22.04 LTS的官方软件源里没有这么老的MinGW版本,得通过源码编译来安装,具体步骤如下:
1. 安装编译依赖
先把编译需要的基础工具包装上:
sudo apt update sudo apt install build-essential flex bison libgmp3-dev libmpfr-dev libmpc-dev texinfo autoconf automake libtool make wget
2. 下载MinGW-w64 4.9.3源码
创建一个临时目录存放源码,然后下载解压:
mkdir ~/mingw-build && cd ~/mingw-build wget https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/mingw-w64-v4.9.3.tar.bz2 tar xvjf mingw-w64-v4.9.3.tar.bz2 cd mingw-w64-v4.9.3
3. 配置编译参数(适配i686-posix目标)
先创建编译输出目录,再配置编译选项:
mkdir build && cd build ../configure --prefix=/usr/local/mingw493 --target=i686-w64-mingw32 --enable-threads=posix --enable-languages=c,c++
--prefix:指定安装路径,方便后续切换版本--target:明确编译32位Windows平台的工具链--enable-threads=posix:和你之前安装的新版线程模型保持一致
4. 编译并安装
编译耗时较长,用-j$(nproc)调用所有CPU核心加速:
make -j$(nproc) sudo make install
5. 切换到4.9.3版本使用
临时切换可以直接把新安装的路径加到环境变量最前面:
export PATH=/usr/local/mingw493/bin:$PATH
验证版本是否正确:
i686-w64-mingw32-g++ -v
如果要永久生效,把上面的export命令追加到~/.bashrc(或者~/.zshrc,看你用的shell)里,执行source ~/.bashrc就能立即生效。
注意事项
- 编译时如果提示依赖缺失,根据提示安装对应包即可
- 新版MinGW不会被覆盖,通过环境变量优先级就能切换使用
- 这个版本年代较久,存在已知安全漏洞,仅建议用于编译旧代码
内容的提问来源于stack exchange,提问作者Tery123
相关产品推荐
相关产品推荐

