【问题标题】:Downgrading MSYS2 to a specific Mingw / gcc version将 MSYS2 降级到特定的 Mingw / gcc 版本
【发布时间】:2021-04-08 06:38:10
【问题描述】:

我的系统中安装了 MSYS2 64 位。 当我尝试检查 gcc 版本时,我得到以下输出。

$ gcc --version
gcc.exe (Rev9, Built by MSYS2 project) 10.2.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

但我想为使用 qt 库的项目使用特定的 mingw 版本。 当我检查我的 qt 项目的构建日志和安装文件夹时,我发现了这个。

|Project name: DataManager
|Project version: undefined
|C++ compiler for the host machine: ccache c++ (gcc 4.9.2 "c++ (i686-posix-dwarf-rev1, Built by MinGW-W64 project) 4.9.2")
|C++ linker for the host machine: c++ ld.bfd 2.24
|Program python3 found: YES
|Found qmake: C:\Qt\5.6.3\mingw49_32\bin\qmake.EXE (5.6.3)

我假设它使用 mingw49_32 版本和 gcc 版本 4.9.2。 我想在 MSYS2 中使用相同的 gcc 版本(4.9.2)。

我怎样才能实现它?

【问题讨论】:

    标签: mingw-w64 msys2


    【解决方案1】:

    你不能用 MSYS2 做到这一点。旧包最终会从 MSYS2 存储库中删除,因此即使它在过去的某个时间点有 GCC 4.9,它也不再有。 earliest available version 是 GCC 9.3。

    即使它在 repo 中,您也必须手动下载并安装它及其所有依赖项,因为无法直接从 pacman 下载过时的包。


    但是,我怀疑:

    • 您已经在C:\Qt\5.6.3\mingw49_32\bin 中安装了 GCC 4.9。
    • 即使您不这样做,您也可以使用最新的 GCC。

    【讨论】:

    • 我正在使用 MSYS2 构建 openssl 代码。我在 qt 项目中使用那些 openssl dll。我也想在 MSYS2 中使用相同的 gcc 版本。有什么方法可以在 MSYS2 中进行一些更改?或者还有其他方法可以用 gcc 4.9.2 编译 openssl 代码吗?
    • @kernel 为什么要编译 openssl,而 MSYS2 允许您下载预构建的?如果我是你,我会开始使用最新的 GCC 编译 Qt 应用程序。
    • 如果您只是将您的 GCC 4.9.2 添加到 MSYS2 中的 PATH 怎么办?它应该可以使用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-30
    • 1970-01-01
    • 2021-10-26
    • 2018-03-07
    • 1970-01-01
    • 2021-12-12
    相关资源
    最近更新 更多