我试图从已编译的ELF文件生成静态库。
以前,我已经能够通过将源代码编译为目标文件来生成库,然后将这些对象传递给avr-ar
以成功创建我的库。为了减少项目的代码空间,我已经切换到使用链接时优化,因此节省了大约1.5 kB的空间 - 但是,为了做到这一点,我最终将所有源文件和头文件传递给{ {1}}在一次调用中,它会发出avr-gcc
个文件。
我似乎无法使用.elf
选项使用链接器(我使用自定义链接器脚本)和编译器驱动程序,否则我将拥有目标文件I需要。
是否可以将此生成的-flto
生成并推送到.elf
以生成库?
问题背景:
这与this问题有关。我编写了共享库和引导加载程序部分,并使用this链接描述文件来设置我的flash空间。这就是推动所有这一切的Makefile - 它非常黑了。
理想情况下,我想要发生的是能够编译我的src / director以分隔obj /中的目标文件,所有这些都启用链接时优化以尽可能减少代码空间但仍然将未使用的函数留在输出中(存储在闪存中的共享库未被引导加载程序应用程序充分利用,但可能会被加载的应用程序链接)。我希望能够将这些对象链接在一起以创建ar
和.elf
。然后,elf用于生成二进制文件以闪存到我的AVR,并且在构建引用闪存空间中存储的库的用户应用程序时引用引导加载程序库。 (也许我只想链接引用共享库部分的符号列表?)