1
我有一個靜態鏈接的應用程序(sample.a),我想用PIC啓用的第三方庫(third-party-lib.a)構建它。請注意,第三方庫不是共享庫。它是一個PIC啓用的靜態庫。如何使用PIC啓用靜態庫建立靜態鏈接的應用程序
任何人都可以請建議我該怎麼做?
我試着與第三方庫鏈接我的圖書館就像我們平時鏈接靜態庫,但它給了我一個錯誤:
/usr/lib/libc_nonshared.a(stack_chk_fail_local.oS):在功能__stack_chk_fail_local': (.text+0x10): undefined reference to
__stack_chk_fail」
在此先感謝。
感謝您的快速響應。我們的代碼不是用-fPIC編譯的。只有我們嘗試構建的第三方庫是啓用了-fPIC,但它不是共享對象。它是一個啓用了-fPIC的靜態庫。您是否建議我們需要使用-fPIC編譯我們的代碼?這是唯一的方法嗎? – user1441520
根據我的理解,你不需要用-fPIC重新編譯(因爲靜態庫不應該有地址設置),但我不確定鏈接器使用的實際機制。 –
謝謝..請讓我知道,如果你有任何其他信息..任何人都知道這一點? – user1441520