如何在Eclipse CDT中的共享库项目中使用静态库

How can I use static lib in Shared Library project in Eclipse CDT

本文关键字:项目 静态 共享 Eclipse CDT      更新时间:2023-10-16

我有一个共享库项目,只有在编译器命令中添加-fPIC时才能构建该项目(这解决了问题)。

当我尝试在这个项目中使用静态库时,我遇到了类似的问题,但在这种情况下,我无法使用-fPIC:解决

libtest.a(exception.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC

我能得到一些关于如何成功链接的帮助吗?我也尝试过将-fPIC添加到链接器选项中,但也出现了同样的错误。

我在Linux上使用GCC编译器。

从问题中可以看出,您正在更新链接时间以添加-fPIC,但您需要用-fPIC重新编译libtest.a,以便在exception.o中创建的重定位和库中的其他对象与PIC兼容。