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.

[参考译文] AM62P:TI CLANG 工具链

Guru**** 2378650 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1504172/am62p-ti-clang-toolchain

部件号:AM62P

工具/软件:

我正在使用一个 SDK 示例、并将代码整理到三个库中:一个用于 FreeRTOS、一个用于示例的应用特定代码、另一个用于板级支持包(BSP)驱动程序。 在链接过程中、我遇到了以下警告:

warning: cannot resolve archive
/data/cm_test/ssp_hal/implementations/host/am62p/tools/TI-Clang_toolchain/ti-cgt-armllvm_4.0.1.LTS/lib/libc.a to a compatible library, as no input files have been encountered

我使用的链接器命令是:

/tools/TI_Clang_toolchain/ti-cgt-armllvm_4.0.1.LTS/bin/tiarmlnk" -I/data/cm_test/ssp_hal/implementations/host/am62p/tools/TI_Clang_toolchain/ti-cgt-armllvm_4.0.1.LTS/lib -o /data/cm_test/cm_test/projects_output_folder/Common_Modem_AM62P_OUT/Common_Modem_AM62P.out --diag_suppress=10063 --priority --ram_model --reread_libs -m=/data/cm_test/cm_test/projects_output_folder/Common_Modem_AM62P_OUT/Common_Modem_AM62P.map /data/cm_test/cm_test/lib/ssp_hal/AM62P/build/Common_Modem_AM62P_build/AM62P.lib /data/cm_test/cm_test/lib/ssp_openrtos/build/Common_Modem_AM62P_build/ssp_openrtos.lib /data/cm_test/cm_test/sources/Target_Specific/AM62P/build/Common_Modem_AM62P_build/AM62P.lib -l/data/cm_test/ssp_hal/implementations/host/am62p/tools/TI_Clang_toolchain/ti-cgt-armllvm_4.0.1.LTS/lib/libc.a -l/data/cm_test/ssp_hal/implementations/host/am62p/tools/TI_Clang_toolchain/ti-cgt-armllvm_4.0.1.LTS/lib/libsysbm.a /data/cm_test/cm_test/sources/Target_Specific/AM62P/Linker_config/linker.cmd --start-group -llibc++.a -llibc++abi.a -llibc.a -llibsys.a -llibsysbm.a -llibclang_rt.builtins.a -llibclang_rt.profile.a --end-group

是否可以直接链接这些库以创建二进制文件而不提供单独的目标文件?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    我已提请编译器专家注意此主题。 请注意,由于当地假日的原因,可能会延迟回复。

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请在开头附近添加此选项 tiarmclang 编译器 命令...

    -wl、--undef_sym=main

    虽然我有足够的信心提出这个建议,但请理解,我无法在您的项目中测试它。

    要了解它的工作原理、请参阅 有关的此条目 -- undef_sym tiarmclang 在线手册中的链接。

    谢谢。此致、

    -乔治

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    HI George、My Project 的结构使得驱动程序代码、FreeRTOS 内核和主应用程序代码都经过编译并打包到各自独立的库中。 因此、链接过程涉及组合这三个预先存在的库、而不是单个目标文件。

    虽然-undef_sym当符号未自动包含在库中时会有所帮助、但我的情况不同。 链接器警告指示我没有提供任何编译的代码(目标文件)作为输入、因此它没有任何针对的链接或解析符号。

    链接:am62px:wkup-R5fss0-0:freeRTOS:ti-arm-clang Common_Modem_。
    driver_stux/tools/TI_clang_tools/TI_clang_toolchlinkar/ti-cgt-armllvm_4.0.1.LTS/bin/tiarmclang -wl Common_Modem_、--diag_suppress=10063 -wl Common_Modem_、--priority -wl Common_Modem_、--ram_model -model Common_Modem_ Common_Modem_ Target_Specific
    警告:无法解析存档
    driver_stux/tools/TI_Clang_tools/ti
    -cgt-armllvm_4.0.1.lst/lib/libc.a 添加到兼容库、因为没有输入文件
    更改

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    链接器警告指示我没有提供任何编译的代码(目标文件)作为输入、因此它没有什么可用于链接或解析符号。

    正确。  如果无法提供任何目标文件、解决这种情况的唯一方法是使用 -- undef_sym 正如我在上一篇文章中所描述的那样。

    谢谢。此致、

    -乔治