如何在linux上使用附加库创建可移植的C/ c++程序?



我需要创建一个可移植的linux程序,它使用了许多从yum (CentOS)中定义的附加库。

禁止在便携式机器上安装新的软件包。这里没有必要的库。

如何通过gcc编译器将我的程序和所有包组装到一个文件夹中?当我把这个文件夹移到另一台机器上时,我的程序应该会启动并成功运行。

我的程序只允许使用动态库。静态库是严格禁止的。

当试图将rpath与/usr/lib64/替换为存储在我目录中的库时,在传输到另一台机器后,其他库给出错误(glibc版本冲突)。

这听起来像是一个注定要失败的项目。

静态库不是问题所在。因为它们只是.o文件的集合,所以可以解压缩它们。然后,您可以声明您刚刚链接了目标文件。愚蠢的规则产生愚蠢的结果。

我在这里忽略了软件许可,但是这个问题似乎暗示了这一点。您不需要通过yum安装库的许可证,因为您不提供它们。但是,当您以某种形式将这些库作为产品的一部分发布时,您绝对需要许可证。考虑到这些愚蠢的规则,(L)GPL可能是不可能的,所以你需要为所有7个库获得商业许可证。

相关内容

  • 没有找到相关文章

最新更新