我手里有一堆静态库,都有两个版本——32位和64位。 当我使用这些静态库编译成共享库时,奇怪的事情 发生了: 1、我用64位静态库编译了一个64位共享库,一切正常; 2. 我用32位静态库编译一个32位共享库,ld告诉我[text section is not shareable]。
所以,我猜想 32 位静态库不使用 -fPIcflags,但我的同事告诉我他没有添加该标志。 但我仍然怀疑,有没有办法查明静态库是否确实添加了 -fPIcflags。 PS:我知道使用 readelf 或 objdump 可能会得到一些线索,但有没有更好的方法?
最佳答案
我相信,如果你使用的是 linux,你可以查看 file
file myLib.so
file myLib.a
如果库是用 -fPIC 编译的,输出应该会告诉你
关于c++ - 有什么方法可以找出静态库是用 -fPIcflags编译的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32560968/