[英]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.