2012-03-15 76 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定義的目標文件,或刪除調用它。