Sti*_*MAN 3 c++ ubuntu redhat shared-libraries
我在Ubuntu 9.10桌面上编译了一个共享库.我想将共享库发送给拥有Red Hat Enterprise 5盒的联合开发人员.
他可以在他的机器上使用我的共享库吗?
第一点:关于编译器版本的所有答案似乎都是错误的.重要的是联系(当然还有架构).
如果将.so文件复制到启动系统(例如,复制到其自己的目录/usr/local/*或/opt/*目录中),则尝试使用LD_PRELOAD环境设置运行预期的可执行文件.如果linker(ld-linux.so)设法解析两者之间的所有符号,那么程序应该加载并运行.
所以它应该是可能的,而且相当安全(只要你没有覆盖任何现有的系统库并只使用LD_*/etc/ld.so.preload(在chroot中?)魔术来将目标可执行文件链接到这个库.
但是,我认为这是一个坏主意.您有包管理问题.Ubuntu和Red Hat都有精美的包管理工具.使用它们!(注意,提出有关包管理的问题的适当位置是ServerFault或SuperUser,绝对不是SO).