首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在CentOS 7上通过devtoolset-4安装的Eclipse CDT使用的是错误版本的gcc/g++

在CentOS 7上通过devtoolset-4安装的Eclipse CDT使用的是错误版本的gcc/g++
EN

Stack Overflow用户
提问于 2017-04-28 03:22:23
回答 1查看 692关注 0票数 1

我在用于开发的CentOS 7机器上安装了devtoolset-4软件集。这个软件集包括我想使用的编译器g++ 5.2.1,以及Eclipse CDT4.5 (Mars)。当我在Eclipse中创建一个新的c++项目并导航到项目属性(右键单击项目,然后单击properties -> C/C++ Build -> Environment)时,我可以看到Eclipse已经创建了一个PATH环境变量,该变量在构建项目时被附加到当前路径中。Eclipse定义的路径的值为:

/bin:/opt/rh/devtoolset-4/root/usr/bin:/opt/rh/rh-java-common/root/usr/bin:/usr/lib64/qt-3.3/bin:/home/kts/perl5/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/sbin:/home/kts/.local/bin:/home/kts/bin

路径中的第一个条目是/bin,在CentOS 7上是指向/usr/bin的符号链接。在/usr/bin中是从官方CentOS存储库安装的g++ 4.8.5二进制文件。这导致Eclipse使用g++ 4.8.5构建我的项目,而不是我实际希望它使用的版本,即位于/opt/rh/devtoolset-4/root/usr/bin目录中的g++ 5.2.1二进制文件(PATH中的第二个条目)。如果我从Eclipse PATH变量中删除/bin条目,那么我的项目将使用所需的g++ 5.2.1进行构建。

不过,我有点犹豫是否继续依赖这个修复,因为我预计在devtoolset-4中包含的Eclipse版本中创建的项目将与devtoolset-4中包含的g++版本一起开箱即用。有没有其他人遇到过这个问题?在使用devtoolset-4软件集合时,是否有什么不正确的地方?或者这是一个bug?任何洞察力都是非常值得欣赏的。

EN

回答 1

Stack Overflow用户

发布于 2017-04-28 09:18:23

通常,当安装了多个版本的g++时,会提供g++可执行文件的后缀版本,例如g++-4.8g++-5,这样您就可以使用适当的后缀来选择所需的版本。您可以通过在shell中运行g++-5 (适当设置路径)并查看它是否被解析来验证这一点。

假设是这样的话,您只需要将Eclipse配置为使用g++-5而不是普通的g++。您可以在项目属性-> C/C++ Build ->设置->工具设置中执行此操作。在"GCC命令编译器“、"GCC C编译器”和"GCC命令链接器“下,将”C++“从g++gcc更改为g++-5gcc-5

请注意,GCC最近更改了他们的版本编号。以前,每年发布只会增加第二个版本号(4.7,4.8,4.9),而从版本5开始,每个年度发布都会增加第一个版本号。因此,版本5和更高版本的后缀只是一个数字,例如g++-5,而不是g++-5.2 (而以前的后缀是g++-4.8g++-4.9等)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43666310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档