TSG*_*TSG 6 c++ libstdc++ libraries devtoolset redhat-dts
我正在运行 CentOS 6.4 并且需要更高版本的 C++ 编译器来构建我的开发工具(在本例中为 Qt Creator)。
我不清楚使用 devtools 的含义,我希望有人能解释一下。
我希望这个有点晚的答案仍然可以帮助你。我发现devtoolset在 RHEL 6.4 上使用(我的例子是 1.1,但这应该不重要)编译我的项目会生成几乎可以在标准 RedHat EL 6.4 上运行的二进制文件(对于 Centos 6.4 应该类似)。
我遇到的唯一麻烦是使用 编译我的项目-std=c++11,由于符号不兼容而产生了一些问题。原因是 GCC 人员认为标准库的这些部分在 GCC 4.4 中是实验性的,因此他们在某些地方破坏了 ABI 兼容性。
事实证明,有一个简单的解决方法:将您的程序与附加的命令行参数链接起来-static-libstdc++。这样,二进制文件会变得更大一些,但可以在未经修改的 RHEL 6.4 上运行,而无需为devtoolset.
明确回答您的问题:
-static-libstdc++在链接时添加即可。