我想从C/C++源代码构建MEX函数以启用MATLAB脚本访问,但是我当前版本的Fedora具有更新且不兼容的GCC。我尝试删除已安装的 GCC 并使用 sudo dnf gcc-4.7.x(x = [1, 2, 3, 4])安装 GCC 的 4.7.x 版本,但似乎这些版本都没有托管在 Fedora 软件包存储库中。
有没有其他方法可以在较新的Fedora版本上安装旧版本的GCC?
你必须下载 gcc 源代码,然后自己编译 gcc。Fedora 仓库是特定于版本的。来自早期版本的 Fedora 的 gcc 不包含在 Fedora 的后续版本中。
虽然可以从适当的 Fedora 版本中手动下载早期版本的 gcc,但由于版本冲突,rpm 不太可能同意安装它。有人可能会建议使用 --force
强制安装不兼容的 gcc 版本。唉,这样的建议很可能会导致无法启动的砖块。
所以唯一实际的答案是自己下载并构建gcc;使用自定义配置将gcc安装到非默认位置,以避免覆盖系统安装的libstdc++
。这不是一项微不足道的任务,几年前我自己就完成了这项工作。
TL;DR:如果你必须问这样的问题,那是不可能的。
1)您可以同时安装任意数量的gcc/g ++版本。 2)删除系统编译器不是一个好主意。
gcc-4.7 :很简单,从"Redhat devtoolset-1.1"http://linux.web.cern.ch/linux/devtoolset/→ →#wget -O /etc/yum.repos.d/slc6-devtoolset.repo http://linuxsoft.cern.ch/cern/devtoolset/slc6-devtoolset.repo
安装[所需的软件包]
和 devtoolset-2 是为 RHEL6 创建的,因此我们必须为 devtoolset-(1.1) 安装一些旧文件:compat-gmp-4.3.1-11.fc23.x86_64.rpm
和 compat-mpfr-2.4.1-7.fc23.x86_64.rpm
....友情链接 : compat-gmp https://drive.google.com/file/d/0B7S255p3kFXNbTBSS21jdWlvRXM/view?usp=sharing - compat-mpfr https://drive.google.com/file/d/0B7S255p3kFXNOG8wYU1sY0lkQWc/view?usp=sharing
然后你可以使用 # 安装 dnf install --nogpgcheck devtoolset-1.1-gcc-c++
从 devtoolset-1.1 (gcc-c++ 和依赖项,,, gcc 等)中的 4 个软件包
启用 gcc-4.7 : $ scl enable devtoolset-1.1 bash
...gcc -v
会说"gcc 版本 4.7.2"(该设置在您退出终端之前有效。