下面是我在 portage 中搜索 gcc 的输出:
emerge -s gcc
...
* sys-devel/gcc
Latest version available: 4.6.3
Latest version installed: 4.6.3
Size of files: 70,353 kB
Homepage: http://gcc.gnu.org/
Description: The GNU Compiler Collection
License: GPL-3+ LGPL-3+ || ( GPL-3+ libgcc libstdc++ gcc-runtime-library-exception-3.1 ) FDL-1.3+
...
然而当我这样做时gcc --version
,我得到了这个:
gcc (Gentoo 4.5.4 p1.0, pie-0.4.7) 4.5.4
有什么想法吗?我需要使用 C++11 来编译项目,但我不知道该怎么做。提前谢谢您!
答案1
您必须使用gcc-config
。它基本上是 gcc 的 eselect 版本。请按照此处的 gentoo gcc 升级指南进行操作:
答案2
emerg 基于 Python,读取位于 /usr/portage 中的标准 .ebuild 文件。ebuild 文件描述了如何配置和安装源,具体取决于 /etc/make.conf 中设置的变量。
也许在新版本的 GCC 中 .ebuild 文件没有升级。并且您看到的是错误的版本。
您所拥有的 GCC 4.5 不支持以下选项:
- *this 的右值引用
- 非静态数据成员初始值设定项
- 模板别名
- 空指针常量
- 枚举的前向声明
- 通用属性
- 广义常量表达式
- 对齐支持
- 委托构造函数
- 继承构造函数
- 扩展朋友声明和许多其他选项......
GCC 4.8 完全支持 C++11。请尝试将您的编译器升级到最新版本。