赵学迁在 foundry 里面增加了一个 yaml-cpp 的开源库,但是在运行的时候,报错了,找不到链接符号。手动写了一个简单的 cpp 代码,手动链接这个简单的程序,可以正常执行。放在 foundry 里面就无法执行。
后来他在 centos 里面编译了 yaml-cpp 库,然后把编译后的 so 文件复制到 Ubuntu上,结果 foundry 就可以正常运行了。 看来在 CentOS上和 Ubuntu 上进行编译的 so 文件,确实会存在一些不一样的地方。
下面的链接说发现 CentOS 和 Ubuntu 上编译的 so 文件有一个差别,就是 Ubuntu 上编译的链接库不会替换被 weak 标记的函数。
也许不止这写差别。