如何在 FreeBSD 上安装最新的 gcc?

Nic*_*hov 10 freebsd gcc g++

我如何gcc在 FreeBSD 上安装最新版本并设置系统,以便使用这个最新版本来编译更多程序?

在撰写本文时,最新版本gcc是 4.9.0。我使用 FreeBSD 10.0。

我实际上需要g++,C++ 编译器;但我需要gcc49为它安装类似package 的东西,对吗?

Rap*_*ens 16

您可以通过从端口构建 GCC 4.9 来安装它

cd /usr/ports/lang/gcc49; make install clean
Run Code Online (Sandbox Code Playgroud)

或者如果你有 portmaster

portmaster -DHB lang/gcc49
Run Code Online (Sandbox Code Playgroud)

或者如果您更喜欢带有

pkg install lang/gcc49
Run Code Online (Sandbox Code Playgroud)

如果您更改lang/gcc49为,lang/gcc您将安装当前最新的 GCC 稳定版本,即 GCC 4.7。

当您想使用 GCC 而不是 Clang 构建所有端口时,您必须编辑/etc/make.conf和添加

.if !empty(.CURDIR:M/usr/ports/*) && exists(/usr/local/bin/gcc49)
CC=gcc49
CXX=g++49
CPP=cpp49
.endif
Run Code Online (Sandbox Code Playgroud)

/etc/libmap.conf并在那里编辑和添加

libgcc_s.so.1   gcc49/libgcc_s.so.1
libgomp.so.1    gcc49/libgomp.so.1
libobjc.so.3    gcc49/libobjc.so.4
libssp.so.0     gcc49/libssp.so.0
libstdc++.so.6  gcc49/libstdc++.so.6
Run Code Online (Sandbox Code Playgroud)

这是来自 FreeBSD.org一篇文章,它更详细地解释了这一点。

但是对于端口,您并不真正需要 GCC,所有已经依赖 GCC 的端口都将使用 GCC。

编辑:

是的g++,所有 GCC 端口都会安装。

  • 请注意,现在 `lang/gcc5` 也存在。 (4认同)
  • 和`lang/gcc7`(2017 年 12 月) (2认同)