【问题标题】:Unable to install latest GCC on Windows无法在 Windows 上安装最新的 GCC
【发布时间】:2020-03-28 20:18:00
【问题描述】:

我正在尝试在我的本地系统上安装 GCC。

我指的是this

我已成功完成以下步骤:

  1. 安装 Cygwin
  2. 安装所需的 Cygwin 软件包

     C:\cygwin64>setup-x86_64.exe -q -P wget -P gcc-g++ -P make -P diffutils -P libmpfr-devel -P libgmp-devel -P libmpc-devel
    
  3. 下载、构建和安装最新的 GCC

    $ wget http://ftpmirror.gnu.org/gcc/gcc-9.2.0/gcc-9.2.0.tar.gz
    $ tar xf gcc-9.2.0.tar.gz
    $ mkdir build-gcc
    $ cd build-gcc
    

在使用以下命令配置 gcc-9.2.0 之后,我遇到以下错误:

    $ ../gcc-9.2.0/configure --enable-languages=c,c++ --disable-bootstrap --disable-shared
error:
    configure: creating ./config.status
    ./config.status: line 470: syntax error near unexpected token `)'
    ./config.status: line 470: `    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;'

非常感谢任何针对此或替代网站链接下载最新 gcc 二进制文件的解决方案。

【问题讨论】:

  • 你需要使用 Cygwin 吗?除非你真的需要它提供的 POSIX 兼容层,否则我发现 Cygwin 比它的价值更麻烦。
  • 同意,如果可能的话,我会使用 windows 10 Linux For Windows 子系统。
  • 我只想使用最新的 gcc 编译器来实现 c++ 和调试功能。我发现 MinGW 构建支持旧的 gcc 版本,它不提供最新的 C++ 代码支持
  • 真正知名的 mingw 发行版,或者至少是 google 向您倾倒的那些,大多是几乎不支持 C++11 的古董。为了获得最新的工具链,我给出的说明太接近this answer,不值得重写。我添加了一些额外的包,如 ssl 和 curl。 Msys 和周围环境也擅长保持最新状态。
  • 我自己尝试过,诚然是在现有的 Cygwin 安装上而不是新安装上,但无法重现该问题。运行configure 后,我得到了一个config.status 与完全相同的第470 行:*\'*) ac_optarg=$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;. It's conceivable the problem is with your shell. Although configure` 应该产生与外壳无关的代码,这可能并不总是成功。那么你用的是什么外壳?只是标准的 bash shell 还是其他的?

标签: c++ gcc cygwin


【解决方案1】:

我个人尽量避免使用 Cygwin,因为它具有兼容层,因此生成的可执行文件不是 100% 原生的。 使用 MinGW 或更新的 MinGW-w64,您可以获得 100% 原生 Windows .exe 和 .dll 文件。

如果您正在寻找带有 MinGW-w64 的最新 GCC 版本,请查看:http://winlibs.com

在撰写本文时,GCC 9.3.0 是最新版本,但http://winlibs.com 已经拥有即将推出的 GCC 10 快照的 Windows 版本。

【讨论】:

  • 试过了,很好,添加到bin目录下的路径。
  • 仍然很好,也是我发现尝试在 Windows 上安装最新的 GCC 编译器时最简单的解决方案。
猜你喜欢
  • 2013-12-08
  • 2021-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多