构建适用于RHEL和SLES的{C ++二进制文件

时间:2016-02-18 16:07:23

标签: c++ centos compatibility opensuse

我需要从可以在RedHat和SuSE分发上运行的C ++代码构建单个二进制文件。我需要分发二进制文件,因为我无法共享源代码。在这些约束条件下操作,我认为一种方法是将libstdc ++的兼容版本与我的二进制文件一起发送,并使用rpath或ldconfig将其链接到它。

  1. compat-libstdc ++在这种情况下有用吗?它做了什么?
  2. 鉴于Centos / RHEL 7和OpenSuSE / SLES 11,我如何找出适用于两种操作系统的兼容libstdc ++版本?
  3. 由于多种原因,我无法静态链接,包括LGPL中的衍生作品条款等。

1 个答案:

答案 0 :(得分:0)

当您为不同的Linux发行版分发二进制文件时,您可以将所有依赖的库(包括libstdc ++)放入包含二进制文件的包中 - 您还可以在二进制文件中将RPATH设置为$ ORIGIN,这样它将在二进制文件的目录中查找库。这样它就可以与大多数Linux发行版一起使用。