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

时间:2015-11-10 09:38:06

标签: c++ linux eclipse gcc

我有一个共享库项目,只有在我将-fPIC添加到Compiler命令时才会构建(这解决了问题)。

当我尝试在这个项目中使用静态库时,我遇到了类似的问题,但在这种情况下,我无法修复-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编译器。

1 个答案:

答案 0 :(得分:1)

从问题中看,您正在更新添加-fPIC的链接时间,但您需要使用libtest.a重新编译-fPIC,以便在exception.o$colors: red, orange, yellow, green, green, yellow, orange, red; @for $i from 1 through length($colors) { li:nth-child(#{length($colors)}n+#{$i}) { background: lighten(nth($colors, $i), 20%); } } 中创建重定位库中的其他对象是PIC兼容的。