我正在做一个包括编写makefile的项目。在这里,我有 2 个不同的 makefile。第一个执行初始构建步骤。在第二个 makefile 中,我尝试使用最初生成的目标文件(提供的路径)并在其他位置添加另一个生成的目标文件。我在这里面临的问题是链接器无法将这个新的目标文件链接到旧的目标文件。
我正在使用此命令来执行此步骤。
arm-none-eabi-g++ -T ../linker.ld -nostartfiles -Xlinker --gc-sections -Wl,-Map,"map_file.map" -specs=nano.specs -o "target.elf" new_file.o all_older_files.o
这里 new_file.o 是 arm_eabi 版本 0,all_older_files.o 是 arm_eabi 版本 5。但是,这并没有给我任何错误或警告。而且,有趣的是,new_file.o 中的一些符号被包含在 target.elf 文件中。我已经检查并检查了链接器脚本,但找不到解决方案,并且检查 eabi 版本是否有所不同,但如果我使用 elf 编辑器手动编辑 elf 文件,它是相同的。
我想要的只是我需要在这个 target.elf 中包含 new_file.o 中的部分,以便我可以使用这些部分。