2012-03-15 77 views
2

我想在64位的Ubuntu盒子上制作32位库。我创建的.so如下共享库重定位R_X86_64_PC32错误

GCC - 共享轮候册,-soname,libtest.so *的.o

我得到的/ usr/bin中/ LD:搬迁R_X86_64_PC32对符号“set_bright”熬不过当制作共享对象使用;。与-fPIC编译

我已经尝试了-fPIC编译它没有工作

请让我知道如果我需要使用任何标志,而编译.C或一些标志,同时创建.so

谢谢,

回答

1

如果您在调用声明为隐藏的函数,例如

int set_hidden(void) __attribute__((visibility("hidden"))); 

而且它没有在同一个共享对象中定义。

为了解决它,你也必须包含链接的set_hidden定义的目标文件,或删除调用它。