- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我的软件可以在各种操作系统上编译,包括 RHEL7。我有一个构建它以在 RHEL6 上运行的请求。我的问题是我的 C++ 代码很大程度上依赖于 gcc-4.4 中不存在的 C++11 功能,而 gcc-4.4 则随 RHEL6 一起提供。
我看到有一些方法可以让更新的 gcc 版本在 RHEL6 上运行,例如 Developer ToolSet。我毫不怀疑我能够为 RHEL6 构建我的软件。
但是,一旦使用 gcc-6 编译,我必须为我的软件二进制文件提供什么? gcc-6 的 C 库? gcc-6 的 C++ 库?我应该改为将它们静态链接到我的二进制文件吗?
最重要的是,对于 RHEL,我的软件被打包成 .rpm 文件,并安装在标准位置:/usr/bin、/usr/lib ... 我应该在哪里安装这些新的 C 和 C++ 库文件目标系统? (显然不在/usr/lib 中,它们可能会干扰默认的!)
编辑:我的软件是共享对象,我想我可以静态链接 C++ 库吗?但是将使用我的共享对象的程序(我无法控制它)呢?它可以使用另一个版本的 C++ 库吗?链接器不会找到很多重复项吗?看起来我会打开一 jar 蠕虫...
编辑:是否可以将更新的 gcc 编译器与 RHEL6 标准 C++ 库一起使用?
最佳答案
您可以将您的应用程序与标准 C++ 库的适当动态链接版本一起分发。您不必将它放在/usr/lib 中,但您必须以找到正确版本库的方式链接您的应用程序(请参阅链接器的 -rpath 参数)。
最重要的是,您需要确保您的应用程序不使用 glibc 的较新功能(或者与应用程序一起发布适当版本的 glibc)。确保这一点的最简单方法是针对旧版本的 glibc 构建所有内容(应用程序和较新的 gcc)。最简单的方法 是在旧版本的操作系统上构建(但使用新的编译器)。
关于c++ - 在 RHEL6 : How to distribute the software? 上用最近的 gcc 编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45730596/
我想把这个 Dockerfile 带到这里 - https://github.com/ForgeRock/forgeops/blob/release/6.5.0/docker/util/Dockerf
我最近将许多网站从一台运行 RHEL 6 的服务器迁移到一台运行 RHEL 7 的服务器。一个站点使用 pdftk,它依赖于 libgcj,显然 RHEL 7 不再支持它。(至少,我有没有找到广告它的
为了测试日期/时间设置为过去或 future 的 java 代码,我想尝试 libfaketime(目前我们只是调整系统时钟,但它会导致很多麻烦,例如无法正常工作的 kerberos 等)。 我尝试使
我有一堆使用 gcc 4.7 在 RHEL 7 中构建的库。以下是否可能 1) Can the binary be executed in RHEL 6 host without re-compili
所有配置都相同。只是尝试从 A 移动到 B。但是在 B 服务器上,我在尝试/测试登录时收到以下错误: FTP client login error 任何解决方案都将受到高度赞赏。 最诚挚的问候,卡洛尔
我们的业务需要在一个平台上编译我们的软件并在另一个平台上交付。这一直很好,直到我们需要编译 mysqlclient 以连接到数据库。 我想知道是否有其他人尝试过针对 mysqlclient 进行编译并
我们有一个基于 32 位 CentOS 4.8(相当于 Red Hat Enterprise Linux (RHEL) 4 update 8)的商业应用程序。 默认的 gcc 编译器是 3.4.6 我
我是计算机科学新手。我的项目需要使用基于 CLIPS 规则的引擎,它在 RHEL 盒子中运行。查看剪辑的下载链接( http://sourceforge.net/projects/clipsrules
RHEL7 中使用了firewalld代替了原来的iptables,操作设置和原来有点不同: 查看防火墙状态:systemctl status firewalld 启动防火墙:systemctl st
MySQL数据库是Linux操作系统上用得最多的数据库系统,它可以非常方便的与其它服务器集成在一起,如Apache、Vsftpd、Postfix等。下面介绍RHEL 6平台MySQL数据库服务器的安
我正在尝试在 RHEL 服务器上安装 certbot。 Instructions to enable epel-release # yum install https://dl.fedoraproje
我正在开发一个在 Linux (RHEL 7) 上归档数据的应用程序。该应用程序保留源文件并将 tar/tar.gz 放在存档文件夹中。当我的数据很少时,它工作正常。但是当我尝试处理大数据时,我遇到了
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
所以,我正在尝试更改 RHEL 中的存储库,但我总是收到以下消息,但不知道这意味着什么。 Loaded plugins: product-id, security, subscription-mana
我正在 RHEL 环境中运行我的应用程序服务器(Karaf、Tomcat、Mongo 和 Zookeeper 各一个实例),并且经常看到(使用 free -m)我的总 12GB RAM 中近 8GM
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be
我对证书真的很陌生,发现很难实现我的想法。让我有一个用 openSSL 生成的自签名证书。为了使该证书受信任,我应该在 RHEL 中遵循哪些步骤? .pfx 和 .crt 在程序上有什么区别吗?您能否
我最近发现我的 C++ 程序在尝试从输入流重定向到字符串时在 Red Hat Linux 上发生核心转储。该程序提供了一个 PID,并尝试从/proc 中获取进程名称。代码如下: std::strin
我在 x86_64 机器上使用 RHEL 5.8: $ uname -r 2.6.18-308.1.1.el5 $ uname -m x86_64 $ 尝试将源代码交叉编译为 i386 兼容: CFL
我在 service script 之后写了一个服务脚本但是我发现没有守护进程命令,我无法谷歌如何安装它 最佳答案 来自 /usr/share/doc/initscripts-*/sysvinitfi
我是一名优秀的程序员,十分优秀!