程 涛 发布于 2 小时前 22 次阅读


一. 下载安装 MSYS2  msys2.org 使用 MSYS2 完整构建编译器 安装完成后,从开始菜单打开 “MSYS2 MINGW64”

二. 还有GCC源码 和一个现成的GCC编译器。是的你没看错。你还需要一个现成的才能编译源码。

更新核心包:在打开的终端中运行 pacman -Syu 命令,更新 MSYS2 自身

完成之后在运行 pacman -Su 确保完全跟新

安装必要的依赖和工具 pacman -S --needed base-devel mingw-w64-x86_64-toolchain git autoconf automake libtool make python

接着准备源码两个https://gitee.com/mirrors/gcc/repository/archive/master.zipMinGW-w64 - 适用于32位和64位Windows——浏览 /mingw-w64/mingw-w64-release,发布于 SourceForge.net 下载最新版 进入文件夹

gcc-master.zip 解压到mingw-w64-v14.0.0.zip 里面,接着执行export PATH="/你的GCC编译器文件路径/bin:$PATH"

配置您自己的 GCC 到 PATH。验证GCC 应该显示你电脑上 GCC 的路径和版本。

which gcc
gcc --version

安装 Windows 头文件和运行时 pacman -S mingw-w64-x86_64-headers mingw-w64-x86_64-crt

创建头文件链接

mkdir -p /mingw
ln -s /mingw64/include /mingw/include

创建构建目录 mkdir -p ~/build-gcc && cd ~/build-gcc 运行配置

../gcc-src/configure \
    --prefix=/mingw64 \
    --build=x86_64-w64-mingw32 \
    --host=x86_64-w64-mingw32 \
    --target=x86_64-w64-mingw32 \
    --enable-languages=c,c++ \
    --disable-multilib

或者

../gcc-src/configure \
    --prefix=/mingw64 \
    --build=x86_64-w64-mingw32 \
    --host=x86_64-w64-mingw32 \
    --target=x86_64-w64-mingw32 \
    --enable-languages=c,c++ \
    --disable-multilib \
    --with-mingw-w64=~/mingw-w64-src

成功时显示:

checking whether the C compiler works... yes
configure: creating ./config.status
config.status: creating Makefile

常见问题及解决

一. no acceptable C compiler found

原因:MSYS2 找不到您的 GCC

解决

export PATH="/c/mingw64/bin:$PATH"
gcc --version  # 确认能看到版本

二. C compiler cannot create executables

原因:您的 GCC 缺少链接器(ld)

解决:确保您的 GCC 安装完整,包含 binutils

三. /mingw/include does not exist

解决

pacman -S mingw-w64-x86_64-headers mingw-w64-x86_64-crt
mkdir -p /mingw
ln -s /mingw64/include /mingw/include

四. GMP/MPFR/MPC not found

解决

cd ~/gcc-src
./contrib/download_prerequisites
cd ~/build-gcc
rm -rf *
# 重新配置

编译

cd ~/build-gcc
make -j4
此作者没有提供个人介绍。
最后更新于 2026-04-07