Linux不同发行版编译的链接库内容不一样

创建日期: 2022-03-28 17:29 | 作者: 风波 | 浏览次数: 15 | 分类: OS

赵学迁在 foundry 里面增加了一个 yaml-cpp 的开源库,但是在运行的时候,报错了,找不到链接符号。手动写了一个简单的 cpp 代码,手动链接这个简单的程序,可以正常执行。放在 foundry 里面就无法执行。

后来他在 centos 里面编译了 yaml-cpp 库,然后把编译后的 so 文件复制到 Ubuntu上,结果 foundry 就可以正常运行了。 看来在 CentOS上和 Ubuntu 上进行编译的 so 文件,确实会存在一些不一样的地方。

下面的链接说发现 CentOS 和 Ubuntu 上编译的 so 文件有一个差别,就是 Ubuntu 上编译的链接库不会替换被 weak 标记的函数。

也许不止这写差别。

15 浏览
0 评论