如何在链接器脚本中使用存档中的目标文件

How do I use, in a linker script, an object file in an archive?

本文关键字:目标 文件 链接 脚本      更新时间:2023-10-16

我使用arm-none-eabi-ld进行链接,尽管我不认为ARM方面的问题改变了任何东西。我可能错了。

我有一个test-crt0.o对象文件在一个名为libtest.a

的存档

在我的链接脚本我有:

STARTUP(test-crt0.o)

但是我得到这个错误:

$ arm-none-eabi-ld build/main。o -T脚本。ld -ltest

arm-none-eabi-ld: cannot find test-crt0.o

是否有任何方法可以将其具体指向我链接到的库中的目标文件?

编辑:我已经在另一个工作良好的链接器脚本中使用了这个:

 .text : {
   *test-crt0.o (.text)
   *(.text)
 }

星号在这种情况下是需要的,但显然不能与STARTUP一起工作。

您仍然需要在命令行上将test-crt0.o filename传递给ld

链接器脚本中的条目只是告诉它去哪里。