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

TSG

我正在运行CentOS 6.4,并且需要更高版本的C ++编译器来构建我的开发工具(在这种情况下为Qt Creator)。

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

  1. 如果我使用devtools编译程序,这是否意味着该可执行文件可以在其他Centos 6.4安装上运行而无需更改?
  2. 或者..我知道必须将编译的程序附带的库或其他文件运送出去吗?
  3. 如果是这样,是否需要修改我的C ++代码以引用更高版本的库?或者这是由安装我的已编译程序的人完成的
丹尼尔·弗雷(Daniel Frey)

我希望这个较晚的答案仍然可以为您提供帮助。我发现,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

要明确回答您的问题:

  1. 是的,差不多。
  2. 没有。
  3. 不要更改代码,只需-static-libstdc++在链接时添加即可

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Redhat上安装Rpy

来自分类Dev

无法在CentOS / redhat上编译tcprstat。需要有关GNU Toolkit / bzr的建议

来自分类Dev

R redhat卸载

来自分类Dev

在RedHat / CentOS上使用PTPd

来自分类Dev

在redhat中升级scipy

来自分类Dev

RedHat RPM文件冲突

来自分类Dev

在Redhat上安装Pyodbc

来自分类Dev

使用Bower和Grunt分发已编译的JavaScript库

来自分类Dev

在RedHat上安装.NET

来自分类Dev

编译错误-在Redhat“ Openshift”应用程序中找不到com.google.gson包

来自分类Dev

通过SCL devtoolset将Python 2.7安装在Scientific Linux 6上

来自分类Dev

RedHat上的IPS pkgrecv

来自分类Dev

安装用于SVN的Serf版本1.2.1时,将使用http和https进行编译。Redhat 5机

来自分类Dev

redhat 7 + systemctl验证

来自分类Dev

RedHat Anaconda和团体

来自分类Dev

域名配置+ redhat 7

来自分类Dev

RedHat Live USB创建

来自分类Dev

如何在docker's centos7中使devtoolset g ++可用于Makefile?

来自分类Dev

Redhat还是linux基础?

来自分类Dev

找不到Redhat仓库

来自分类Dev

如何列出所有已安装的扩展名为.rpm的软件包。Fedora,Centos,RedHat

来自分类Dev

yumdownloader redhat 7.3的rpm

来自分类Dev

Redhat多个安装磁盘?

来自分类Dev

无法从我的CentOS系统中删除devtoolset-7

来自分类Dev

在redhat中升级scipy

来自分类Dev

CentOS8 / RedHat8-自定义编译时禁用AppStream模块吗?

来自分类Dev

在redhat上静态编译C++项目

来自分类Dev

如何安装下载的 devtoolset-6 rpms?

来自分类Dev

尝试在 x64 RedHat 环境中编译 x86 C 程序 [第 2 部分]