是否有任何方法可以发现静态库是用-fPIC标志编译的?
Is there any method to find out a static library is compiled with -fPIC flag
我手上有一堆静态库,它们都有两个版本——32位和64位。当我使用这些静态库编译成共享库时,奇怪的事情发生了发生了:1. 我使用64位静态库来编译64位共享库,一切正常;2. 我用32位静态库来编译一个32位共享库,ld告诉我[text部分不可共享]。
所以,我猜32位静态库不使用-fPIC标志,但我的同事告诉我他没有添加标志。但我仍然怀疑,所以有一种方法可以找出静态库是否添加了-fPIC标志。PS:我知道使用readelf或objdump可能会得到一些线索,但有没有更好的方法?
我相信,如果您使用的是linux,您可以查看file
file myLib.so
file myLib.a
输出应该告诉您库是否使用-fPIC
相关文章:
- 将静态库链接到不带-fPIC的共享库中
- 即使使用调试编译标志,表达式也是"optimized out"
- 在 CMake 中为每个目标设置编译器/链接器标志
- File.cpp.o:OpenPose 标志 CMakeFiles/.. 的多重定义/main.cpp.o:首先在这里定
- 在轮班操作后使用携带标志
- 如何找出引入AVX标志的内容
- I2C 文件描述符上的 I2C 总线可写/可读标志
- C ++是否有C ++ 17 OSX 10.13.6的标志
- 每次使用带有LOCK_EX标志的LOCK_NB时,相同的程序/进程都会获取锁
- CMake 3.5 中的链接器标志位置
- 如何使用 gnu gcc 标志 -mpc32、-mpc64 和 -mpc80?
- 在 CMake 中添加全局编译标志
- -Wlifetime 标志的目的是什么?
- Visual Studio 19-17 库兼容性根据 GL 标志
- 标志 |= f == s[i],这个语句会做什么?
- Visual Studio 中是否有来自代码块的编译器标志的类似物?
- 链接QT5库会自动将额外的FPIC标志传递给NVCC编译器,并通过cmake Cause错误
- 使用-fPIC标志重新编译
- 添加 -fPIC 编译标志后"Recompile with -fPIC"错误仍然存在
- 是否有任何方法可以发现静态库是用-fPIC标志编译的?