keil 5 armlink 链接错误和警告解释大全

 L6000U内存不足。

RVCT v4.0 及更早版本会报告此错误。有关出现此错误的原因和可能的解决方案的更多详细信息,请参阅错误 L6815U 的说明。

L6001U无法从文件读取<文件名>。

L6002U无法打开文件<文件名>: <原因>

这表示链接器无法打开链接器命令行上指定的文件。这可能表示访问文件时出现问题或命令行出现错误。此消息的一些常见示例包括:

  • L6002U: Could not open file /armlib/{libname}: No such file or directory
    

    使用 --libpath 指定库路径,或将 ARMCC5LIB 环境变量设置为 \libinstall_directory

    注意

    在 ARM 编译器 v5.0 及更高版本中,armlink 不需要设置 ARMCC5LIB 环境变量。
  • Error : armlink : L6002: Could not open file errors=ver.txt
    

    这是由于 errors=ver.txt 前面缺少双破折号 (--) 引起的。如果不在选项前面加上 -- 或 -,则链接器会将它们视为输入文件,并且链接步骤失败,因为它无法加载所有指定的文件。

请参阅《armlink 用户指南》中的以下内容:

--libpath=路径列表.

请参阅《入门指南》中的以下内容:

工具链环境变量.

L6003U无法写入文件

读取、打开或写入指定文件时发生文件 I/O 错误。

L6004U的库成员列表不完整。

如果库对象列表中有空格,则可能会发生这种情况。

以下示例失败,出现致命错误:L6004U:x.lib 的成员列表中缺少库成员:

armlink x.lib(foo.o, bar.o)

以下示例成功:

armlink x.lib(foo.o,bar.o)

另一个不太常见的原因是库损坏,或者可能是格式不受支持的库。

L6005U的成员列表末尾的额外字符。

L6006U未使用执行区域 的 OVERALIGN 属性指定过度对齐值。

请参阅《armlink 用户指南》中的以下内容:

  • 输入部分描述的语法.
  • 执行区域和输入部分的过度对齐.

L6007U无法识别文件格式<文件名>。

链接器可以识别 ELF 格式的对象文件和 AR 格式的库文件。指定的文件已损坏,或者是链接器无法识别的文件格式。

L6008U无法识别 中成员 的格式。

链接器可以识别 ELF 文件格式的库成员对象。指定的库成员已损坏,或者采用链接器无法识别的文件格式。

L6009U文件<文件名>:字节序不匹配。

指定文件或对象的字节序与其他输入文件的字节序不匹配。链接器可以在单个链接步骤中处理大端或小端对象的输入,但不能处理某些大端和一些小端对象的混合输入。

L6010U无法将 stderr 重新打开到文件 <文件名>: <原因>

读取、打开或写入指定文件时发生文件 I/O 错误。

L6011U无效的整数常量:

指定非法整数常量会导致这种情况。整数可以以十六进制格式输入,前缀为 &0x 或 0X

L6015U找不到任何要链接的输入文件。

必须为链接器提供至少一个要链接的目标文件。

例如,如果您尝试与以下链接:

armlink lib.a -o foo.axf

链接器报告此错误。

例如,您必须改用:

armlink foo_1.o foo_2.o lib.a -o foo.axf

L6016U对象/库 中的符号表丢失/损坏。

当与使用 GNU 工具构建的库链接时,可能会发生这种情况。这是因为 GNU ar 可以生成不兼容的信息。

解决方法是将 ar 替换为 armar 并使用相同的命令行参数。或者,可以通过使用 armar -s 重建符号表来恢复错误。

L6017U库<库>符号表包含无效条目,偏移量为 0x处没有成员。

库可能已损坏。尝试重建它。

L6018U<文件名>不是有效的 ELF 文件。

L6019U<文件名>不是有效的 64 位 ELF 文件。

L6020U 不是有效的 32 位 ELF 文件。

L6022UObject 有多个

对象文件有故障或已损坏。这可能表示编译器错误。请联系您的供应商。

L6024U 包含无效的成员名称。

指定的文件不是有效的库文件,有故障或已损坏。尝试重建它。

L6025U无法从非库文件 中提取成员。

指定的文件不是有效的库文件,有故障或已损坏。尝试重建它。

L6026UELF 文件<文件名>既没有小端编码也没有大端编码

ELF 文件无效。尝试重建它。

L6027U) 中的重定位 # 类型无效/未知。

这可能表示编译器错误。请联系您的供应商。

L6028U) 中的重定位 # 的偏移无效。

这可能表示编译器错误。请联系您的供应商。

L6029U) 中的重定位 # 是无效/缺少符号。

重新定位涉及以下任一符号:

  • 对象符号表中无效或缺失

  • 不适合由搬迁使用的符号。

这可能表示编译器错误。请联系您的供应商。

L6030U区域 的过度对齐<过度对齐>必须至少为 4 且 2 的幂

请参阅《armlink 用户指南》中的以下内容:

  • 执行区域属性.
  • 输入部分描述的语法.
  • 执行区域和输入部分的过度对齐.

L6031U无法打开散点描述文件<文件名>:<原因>

尝试打开指定的文件时发生 I/O 错误。这可能是因为文件名无效。

L6032U<对象中找不到无效的<文本> <值>(最大值>

L6033U中的符号是相对于无效部分定义的。

L6034U 中的符号 的值无效。

这通常是由于截面相对符号的值超出截面边界所致。

L6035UZI 部分 ) 中的 Relocation # 类型无效。

除 R_ARM_NONE 类型外,ZI 部分不能有其他位置。

L6036U无法关闭文件<文件名>:<原因>

关闭指定文件时发生 I/O 错误。

L6037U:“”不是选项“

该参数对此选项无效。这可能是由于拼写错误,或者是因为使用了不受支持的参数缩写。

L6038U无法创建临时文件来写入更新的 SYMDEFS。

创建存储 SYMDEFS 输出所需的临时文件时发生 I/O 错误。

L6039W) 中的 # 重新定位到 。跳过 R 型搬迁的创建。对于类型 ,不存在相应的 R 型重定位。

--reloc 用于包含没有相应 R 类型重定位的重定位的对象。

L6041U发生内部错误(<线索>)。

请联系您的供应商。

L6042U) 中的 Relocation # 是映射符号 (#, Last Map Symbol = #)。

不允许对制图符号进行重定位。这可能表示编译器错误。请联系您的供应商。

L6043U) 中的重定位 # 与超出范围的符号 (#, Range = 1-) 有关。

只能使用 (1-n) 范围内的符号进行重定位,其中 n 是符号的数量。

L6047U此映像的大小( 字节)超出了此版本链接器允许的最大值

L6048U链接器无法继续链接步骤 ()。此版本的链接器不会创建此映像。

L6049U链接器无法继续链接步骤 ()。此版本的链接器不会与一个或多个给定库链接。

L6050U此映像的代码大小( 字节)超出了此版本链接器允许的最大值。

L6058E解析链接器脚本

你可能感兴趣的:(单片机,嵌入式硬件)