当前位置 : 主页 > 编程语言 > c++ >

c – 我可以在Redhat Linux机器上使用在Ubuntu上编译的共享库吗?

来源:互联网 收集:自由互联 发布时间:2021-06-23
我在Ubuntu 9.10桌面上编译了一个共享库.我想将共享库发送给拥有Red Hat Enterprise 5盒的联合开发人员. 他可以在他的机器上使用我的共享库吗? 第一点:关于编译器版本的所有答案似乎都
我在Ubuntu 9.10桌面上编译了一个共享库.我想将共享库发送给拥有Red Hat Enterprise 5盒的联合开发人员.

他可以在他的机器上使用我的共享库吗?

第一点:关于编译器版本的所有答案似乎都是错误的.重要的是联系(当然还有架构).

如果将.so文件复制到启动系统(例如,复制到其自己的/usr/local/*或/ opt / *目录中),则尝试使用LD_PRELOAD环境设置运行预期的可执行文件.如果链接器(ld-linux.so)设法解析两者之间的所有符号,则程序应加载并运行.

所以它应该是可能的,而且相当安全(只要你没有覆盖任何现有的系统库并只使用LD_ * /etc/ld.so.preload(在chroot中?)魔术来链接目标此库的可执行文件.

但是,我认为这是一个坏主意.您有包管理问题. Ubuntu和Red Hat都有精美的包管理工具.使用它们! (注意,提出有关包管理的问题的适当位置是ServerFault或SuperUser,绝对不是SO).

网友评论