gpt4 book ai didi

c - 使用 IAR 工具链将目标文件链接到不可执行的镜像

转载 作者:行者123 更新时间:2023-11-30 17:04:56 29 4
gpt4 key购买 nike

我正在使用 IAR 工具链编译一些源文件,然后链接生成的 .o 文件。

但是,我遇到了如下链接错误:

Error[Li005]: no definition for "main" [referenced from cmain.o(rt7M_tl.a)]

Error[Lc036]: no block or place matches the pattern "ro code section .intvec in vector_table_M.o(rt7M_tl.a)"

据我了解,ILINK 链接器正在尝试将目标文件链接为可执行镜像,并在此过程中添加来自标准库的依赖项[即寻找 main() 和中断 vector 表]。

我在寻找什么:

  1. 如何配置链接器以不添加这些系统库依赖项,例如 main/start/interrupt-vector-table 等?
  2. 如何配置链接器从一堆目标文件中输出不可执行的图像 - 如果可能的话?

您可以将这种不可执行的镜像视为配置表镜像,它将被放入持久内存中以供主应用程序镜像读取/写入。

最佳答案

如果您通过命令行选项“--no_entry”告诉链接器您没有入口点,您将删除对 main 和 .intvec 数据的引用。

但是您确实需要告诉链接器应该保留什么。
--keep 和/或 __root 可以帮助您。

关于c - 使用 IAR 工具链将目标文件链接到不可执行的镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35504829/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com