我手头有一堆静态库,它们都有两个版本——32 位和 64 位。当我用这些静态库编译成共享库的时候,奇怪的事情发生了: 1、我用64位的静态库编译了一个64位的共享库,一切正常;2.我用32位静态库编译了一个32位共享库,ld告诉我[text section is not shareable]。
所以,我猜 32 位静态库不使用 -fPIC 标志,但我的同事告诉我他添加了标志。但我仍然怀疑,有没有办法找出静态库是否添加了 -fPIC 标志。PS:我知道使用 readelf 或 objdump 可能会得到一些线索,但有没有更好的方法?