工具/软件:
大家好、
我刚刚使用适用于 AM62Ax 产品的 TI Arm CLANG 编译器编译了软件、但卡在最终链接步骤中、因为您可以在链接阶段看到以下错误、但我不知道为什么会发生这种情况、因为错误消息太混乱。
TI ARM Clang 编译器版本:ti-cgt-armllvm_3.2.LTS

如果你有任何建议,请告诉我,非常感谢!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:
大家好、
我刚刚使用适用于 AM62Ax 产品的 TI Arm CLANG 编译器编译了软件、但卡在最终链接步骤中、因为您可以在链接阶段看到以下错误、但我不知道为什么会发生这种情况、因为错误消息太混乱。
TI ARM Clang 编译器版本:ti-cgt-armllvm_3.2.LTS

如果你有任何建议,请告诉我,非常感谢!
你好 Tushar、
SDK 版本如下所示:μ s

我没有使用原始 SDK 进行编译、只从 SDK 或 MCAL 软件包中获取了一些代码、然后使用 Scons 工具构建它们。
由于我用我的 scons 环境构建了 mcal Can_App ,并且构建 elf 可以刷写到 EVM 并运行良好,然后我只需添加更多基于这个 Can_App 演示的 AUTOSAR 操作系统代码和我自己的 scons 工具,最后我们可以在修复构建错误后看到链接错误。
您好、 Tushar、
我想向您提供有关我的建筑流程的更多信息。
即使我使用@file 来避免 Windows 中的长度限制、但我的 link_objects.lst 大小约为 32KB、其中包括该文件中的许多对象、因此 tiarmlink.exe 存在任何输入参数大小限制、如果是、我认为也许我可以转移到 Linux 编译环境或只是将一些对象归档以解决此问题。
以上是我的猜测,希望你能告诉我,如果它存在:

我非常确定您遇到了 此论坛主题中讨论的问题。 我认为这两项改变可以避免问题。 它们都与文件相关 link_objects.lst 。
谢谢。此致、
-乔治
Helllo George,
感谢您的答复。
这是我的最新情况:
现在、我通过在 Linux 环境中构建程序来解决我的问题。
让我回答你的关切。
1. 引用文件时不要使用@
答:我想我们可以使用它、因为它在编译器用户手册中是允许的、您可以进行检查。
2.在文件内,将每个目标文件分别写在一行
答:我已经做了这件事,所以我的问题没有必要改变。
我认为根本原因是 tiarmclang.exe 存在参数长度限制 32KB 基于我在 windows 测试,但是. 2m 这对于我的立场来说已经足够了。
因此、如果我将 link.rsp 中的目标文件减少到 30kb 以下、则会获得链接结果。
一旦我在 Linux 环境中构建程序、就没有任何要更改的地方、可以顺利获得链接结果。
我认为这是输入参数 处理的操作系统环境差异。
我强烈建议我们最好在 Linux 环境中编译我们的程序、而且它比 Windows 更快 。
即使您 在链接阶段使用@file、也不认为它会突破窗口中的参数限制、这样只会降低此问题的风险。
如果您对我的描述有任何疑问、请告诉我。
1. 引用文件时不要使用@
答:我想我们可以使用它、因为它在编译器用户手册中是允许的、您可以进行检查。
[/报价]我很困惑。 你有试过吗? 我不认为你有。
这是另一种你可能喜欢更好的方法。 而不是 @μ s 、在前面加上 -wl 、 例如:
-wl、link_objects.lst
这意味着整个文件直接传递给链接器。 该文件的内容绝不会出现在任何命令行上。 避免了命令行长度问题。
谢谢。此致、
-乔治