我手中有一堆静态库,它们都有两个版本--32位和64位。 当我使用这些静态库编译成共享库时,很奇怪 事情发生了: 1.我使用64位静态库编译64位共享库,一切运行良好; 2.我使用32位静态库来编译32位共享库,ld告诉我[文本部分不可共享]。
所以,我猜32bit静态库不使用-fPIC标志,但我的同事告诉我他添加了标志。 但我仍然怀疑,有没有办法找出静态库是否添加了-fPIC标志。 PS:我知道使用readelf或objdump可能会得到一些线索,但还有更好的方法吗?
答案 0 :(得分:0)
我相信,如果您使用的是Linux,则可以查看file
file myLib.so
file myLib.a
如果库是使用-fPIC
编译的,输出应通知您