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.

[参考译文] 编译器/TDA2EG:需要支持异常处理的RTS库

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/662075/compiler-tda2eg-need-rts-library-with-exception-handling-support

部件号:TDA2EG

工具/软件:TI C/C++编译器

您好,

我正在使用 rtsv7M4_T_le_eabi.lib 运行时支持库进行链接,但我遇到了链接器问题,如 __TI_reending_RaiseException, __aeabi_reend_cpp_pr0, __cxa_allocate_exception。

我假设我需要一个版本的库来提供异常处理支持。 这意味着我需要使用 rtsv7M4_T_le_eabi_eh.lib,对吗?

由于我没有此库,我尝试使用mklib生成一个库,但我的createProcess失败。 make (e=2):系统找不到指定的文件。

我无法使用其他论坛上提供的解决方案解决此问题。

这是我生成库的操作:

已将<toolchain path>/lib添加到路径的from (环境变量)。

然后从git bash执行:

mklib.exe --pattern=rtsv7M4_T_le_eabi_eh.lib --index=<toolchain_path>/src.

 

我不知道为什么会出现此错误。

请帮助解决此问题或提供现成的库: rtsv7M4_T_le_eabi_eh.lib 

谢谢!

Shailesh

 

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

    Shailesh Wankhede90 说:
    我正在使用 rtsv7M4_T_le_eabi.lib 运行时支持库进行链接,但我遇到了链接器问题,如 __TI_reending_RaiseException, __aeabi_reending_cpp_pr0, __cxa_allocate_exception_exception.[/quotion]。

    这是您的第一个问题。  因此是开始的最佳地点。  在链接器调用中,当您命名编译器RTS库时,您应该使用类似“-l libc.a”的内容。  这会告诉链接器根据所看到的目标文件选择最佳库。  在您的情况下,它将自动选择一个库,其中包含异常处理。  由于该库不可用,链接程序将自动调用mklib以创建它。   

    如果失败,请参阅 Mklib文章,尤其是"故障排除"部分。   

    如果仍然无法使其工作,则显示整个链接程序调用以及由此产生的所有诊断。  同时显示所使用的编译器版本(而不是CCS)。

    谢谢,此致,

    -George

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此特定编译器版本(5.2 .4)没有libc.a 所以我使用了可用的RTS库。
    无论如何,我通过在其他PC上生成RTS库来解决了问题。
    可能是PATH环境变量的问题。

    谢谢!
    Shailesh