您好,登錄后才能下訂單哦!
場景:
二進制Link-->動態庫-->第三方靜態庫
Linux環境中需要動態庫鏈接第三方的靜態庫
錯誤:
/usr/bin/ld: ../../3rdpart/x64/muduo/lib/libbase.a(AsyncLogging.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
../../3rdpart/x64/muduo/lib/libbase.a: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
解決方法:
重新編譯靜態庫第三方的靜態庫
在makefile 中添加-fPIC
查看編譯期參數是否缺少 -fPIC , 不僅是共享庫,靜態庫有時也需要有 -fPIC參數
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。