如何 link .a/.lib 到 .elf
How to link a .a/.lib to a .elf
我有一个链接到多个 .a、.so 和 .lib 文件的 .elf 文件。现在我想向同一个精灵添加另一个 .lib。有办法实现吗?
I have a .elf file
那句话毫无意义。 ELF 文件有不同的种类:ET_DYN
(共享库或 PIE 可执行文件)、ET_EXEC
(可执行文件)、ET_REL
(可重定位目标文件)、ET_CORE
(核心转储) .
你可以通过 运行 file foo.elf
来判断你拥有哪种 .elf
。
前两个被认为是“最终的”,无法对它们进行进一步的链接。显然你也不能重新链接 core
文件。
Now I want to add another .lib to the same elf.
听起来你有一个可执行文件,你想扩展它。
这是不可能的。
更新:
can I add .lib to a relocatable object file?
是:与添加任何其他库的方式相同。如果原始命令是:
xyz-link -o final.elf -whole-archive foo.lib
那么新命令将是:
xyz-link -o final.elf -whole-archive foo.lib bar.lib
我有一个链接到多个 .a、.so 和 .lib 文件的 .elf 文件。现在我想向同一个精灵添加另一个 .lib。有办法实现吗?
I have a .elf file
那句话毫无意义。 ELF 文件有不同的种类:ET_DYN
(共享库或 PIE 可执行文件)、ET_EXEC
(可执行文件)、ET_REL
(可重定位目标文件)、ET_CORE
(核心转储) .
你可以通过 运行 file foo.elf
来判断你拥有哪种 .elf
。
前两个被认为是“最终的”,无法对它们进行进一步的链接。显然你也不能重新链接 core
文件。
Now I want to add another .lib to the same elf.
听起来你有一个可执行文件,你想扩展它。
这是不可能的。
更新:
can I add .lib to a relocatable object file?
是:与添加任何其他库的方式相同。如果原始命令是:
xyz-link -o final.elf -whole-archive foo.lib
那么新命令将是:
xyz-link -o final.elf -whole-archive foo.lib bar.lib