[英]How to make fake proxy Import library
我記得發現* .a庫不包含任何對象,而是一個列表庫(作為純文本?),類似於: -liconv -lm
這樣,當gcc遇到它時,將在兩個庫中搜索鏈接。
有這樣的把戲嗎? 可以肯定的是,那一次它可以正常工作,但是我現在不知道該怎么做。
您的鏈接器來自binutils嗎? binutils ld
支持.a
文件作為隱式鏈接程序腳本 :
如果您指定了一個鏈接程序輸入文件,而該鏈接程序無法將其識別為目標文件或歸檔文件,它將嘗試將其作為鏈接程序腳本讀取。 如果無法將文件解析為鏈接描述文件,則鏈接描述文件將報告錯誤。
鏈接描述文件不必libc.so
復雜,它可以像下面這樣簡單(對於glibc的libc.so
):
/* GNU ld script. */
OUTPUT_FORMAT(elf64-x86-64)
GROUP ( …/libc.so.6 …/libc_nonshared.a AS_NEEDED ( …/ld-linux-x86-64.so.2 ) )
或者,您可以只使用INPUT
將事情委托給ld
:
如果您使用“
INPUT (-lfile)
”,則ld會將名稱轉換為libfile.a
,就像命令行參數“-l
”一樣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.