不能使用使用lib * .a ---对符号的重定位R_X86_64_32S的CDT

时间:2017-08-15 11:18:20

标签: c++ shared-libraries static-libraries eclipse-cdt

我尝试在CDT中为我的c ++项目引用静态* .a库。我把它包含在C / C ++ Build中 - > Cross C ++ Linker - >图书馆

但我收到错误: 在制作共享对象时,不能使用对符号的重定位R_X86_64_32S。

现在从我到目前为止所看到的,我认为这意味着编译器认为我引用了一个共享库,而它是一个静态库 - 是这样的,如果是这样,现在可以做什么?有没有办法只使用* .a库或者我必须将它们重新编译为.so - 对象?

2 个答案:

答案 0 :(得分:0)

我不得不重新编译,但它足以重新编译为* .a库。我很确定问题源于我的gcc编译器的更新。

答案 1 :(得分:0)

在我的情况下,我刚刚将其编译为* .a,因此我非常确定再次编译为* .a将不起作用,同时gcc不会被更新。因此,我已经尝试了您在问题中提到的内容:删除了.a库,并重新编译并安装为.so,并且可以工作。谢谢:D