问题标签 [devtoolset]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3490 浏览

gcc - CentOS:使用来自 devtoolset 的 GCC 4.7 导致链接 libstdc++ 不正确(未定义的符号)

我正在使用 CentOS 6.3 的 devtoolset-1.0 来临时升级 GCC 版本。虽然我现在可以编译我的 C++ 应用程序,但最终的二进制文件缺少一些符号:

我发现,这些是一些新功能,在“旧”libstdc++ 中没有,但在较新的 libstdc++ 中。在我的系统上,安装了 libstdc++(默认版本 4.4.7)和 devtoolset-1.0-libstdc++-devel(4.7 通过 devtoolset)。有趣的是,来自 devtoolset 的 libstdc++ 再次链接到旧的:

我真正想要的是替换 libstdc++ 绑定,但我不知道如何实现。我已经尝试设置 LD_LIBRARY_PATH 并指向 devtoolset 目录,但 libstdc++ 仍设置为旧位置。符号链接也没有成功,因为它是 ld 脚本而不是实际的共享库。

0 投票
2 回答
4787 浏览

makefile - 启用“软件集合”。红帽开发者工具集

我刚刚发现 RedHat 提供了这个“开发工具集”,它允许我安装(当然也可以使用)最新的 gcc-4.7.2。我在 Centos 上使用它,但过程是一样的。

安装后,您可以通过以下命令启用此工具集来启动新的 bash 会话:

那行得通。现在,我可以以某种方式将其添加到我的 bashrc 中,因为这实际上开始了一个新的 bash 会话?或者我应该更好地将它放在我的 makefile 中以避免启动新的 bash 会话。有没有办法在makefile中发出这个?

0 投票
1 回答
870 浏览

c++ - RedHat devtoolset - 分发编译代码的含义

我正在运行 CentOS 6.4,需要更高版本的 C++ 编译器来构建我的开发工具(本例中为 Qt Creator)。

我不清楚使用 devtools 的含义,我希望有人能解释一下。

  1. 如果我使用 devtools 编译程序,这是否意味着可执行文件将在其他 Centos 6.4 安装上运行而无需更改?
  2. 或者..我是否知道必须将库或其他文件与我编译的程序一起提供?
  3. 如果是这样...我是否必须修改我的 C++ 代码才能引用以后的库?或者这是由安装我编译的程序的人完成的
0 投票
1 回答
330 浏览

c - 设置环境后 scons 仍然失败

我在 Centos 5 上使用 scons 1.2,devtoolset-1.1、devtoolset-1.1 根路径位于 /opt/centoss/devtoolset-1.1/。我将 devtoolset 二进制路径添加到 PATH 变量中,这就是我所拥有的

一切看起来都不错,然后我尝试使用 scons 制作一个简单的 C 程序

我按照http://www.scons.org/doc/1.2.0/HTML/scons-user/x1673.html上的指南设置env使用 os.environ PATH 像这样,cat SConstruct

但 scons 仍然没有到达 gcc

那么,我现在应该怎么做?

0 投票
1 回答
759 浏览

linux - Linux 上的 gcc 4.8.2 - 使用线程崩溃的简单程序

我刚刚在 Centos 上安装了 gcc 4.8.2(我使用的是 devtoolset-2)。我使用线程编写了一个非常简单的程序。它编译得很好,但执行时会崩溃?

我编译:

我非常惊讶。我必须做错事,不使用写 libc++ 等?你知道我怎么调试这个吗?谢谢!我在 Mac (Maverick) 上编译它,它显然不使用 gcc,它工作正常。

0 投票
2 回答
2470 浏览

c++ - 在 Linux 上安装 gcc

如何在需要 yum 安装的 centos 或科学 linux 操作系统上安装 gcc 4.8 版。

我尝试从https://ftp.gnu.org/gnu/gcc/gcc-4.8.2/下载 gcc ,然后运行 ​​./configure 然后 make。运行 make 后,它给了我错误:配置:错误:无法计算目标文件的后缀:无法编译有关详细信息,请参阅“config.log”。

有什么方法可以让我使用 yum install 在 linux 上安装 gcc 4.8 版

我试过:1)。我试过yum --enablerepo=testing-2-devtools-6 install devtoolset-2-gcc devtoolset-2-gcc-c++它给我找不到存储库

2)。yum group install "Development Tools". 它给了我包 gcc-4.4.7-11.el6.x86_64 已经安装和最新版本

3)。从头开始构建它,您必须首先执行 ./contrib/download_prerequisites 以在 GCC 源代码树中获取 MPFR、GMP 和 MPC,然后创建一个单独的目录并运行 /path/to/gcc/source/configure。它给:

配置:错误:构建树但 /home/Softwares/gcc-4.8.2 包含 host-x86_64-unknown-linux-gnu

0 投票
1 回答
984 浏览

c++ - Eclipse / g++ 无法识别“-std=c++11”标志

我正在使用 Eclipse Luna 和 g++ 4.7.2(由devtoolset-2提供)运行 CentOS 6.6 x64。我正在使用 Eclipse 内置的自动生成文件。

我已经使用 scl enable devtoolset-2 bash 启用了 g++ 4.7.2

[me@dev ~]# g++ --version g++ (GCC) 4.7.2 20121015 (Red Hat 4.7.2-5) 版权所有 (C) 2012 Free Software Foundation, Inc. 这是免费软件;查看复制条件的来源。没有保修;甚至不考虑适销性或特定用途的适用性。

不幸的是,在编译时,Eclipse 会抛出错误,说“-std=c++11”不是一个有效的选项。我已经在项目属性>> C/C++ Build >> Settings >> Dialect >>“Other dialect flags”下设置了方言,值为“-std=c++11”。

调用:GCC C++ 编译器 make:*** 等待未完成的作业.... g++ -std=c++11 .... cc1plus:错误:无法识别的命令行选项“-std=c++11”

我尝试使用带有“-std=c++0x”的“语言标准”选项,但编译时会抛出错误

249:错误:“:”标记之前的预期初始化程序

0 投票
1 回答
2028 浏览

c++ - g++/gcc 如何确定链接哪个库有多个版本可供选择?

我已经在 RHEL6 机器上安装了 devtoolset-3,我对 gcc/g++ 如何确定哪个库与二进制文件链接感到困惑。

RHEL6 上的标准设置:

在我编译一个简单的、几乎为空的 C++ 二进制文件后,我得到:

然后我会安装devtoolset-3(从这里https://www.softwarecollections.org/en/scls/rhscl/devtoolset-3/

接着

我也一样...

0 投票
1 回答
3109 浏览

centos - CentOS 6 和 Devtoolset-3

尝试将Devtoolset-3中的 C++ 安装到我的 CentOS6 系统时遇到了依赖问题:

至于我,它看起来像一个错误:SCL 应该包含该库的更新包......但也许我错过了什么?

0 投票
1 回答
197 浏览

c++ - __cxa_demangle 在 rhel6 (centos6) 上使用 devtoolset-4 gcc-5.2 失败

我已经尝试过最小的测试用例。这个案例通过 devtoolset-4 (gcc-5.2) 在 rhel-7 上通过,在 rhel-6 下失败。状态 -2 表示“mangled_name 不是 C++ ABI 重整规则下的有效名称。” https://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.3/a01696.html

我做错了还是如果我想在 RHEL-6 上使用 gcc-5.2,我将不得不以某种方式解决这个错误?如果是这样,有什么建议吗?到目前为止,我最好的想法是将重整名称中的“IJ”正则表达式为“II”,然后再将其提供给 __cxa_demangle()。如果这可能是相对可靠的,我可以忍受它。

Centos-6 输出

Centos-7 输出

带有 devtoolset-3 (gcc-4.9) 的 Centos-6 输出