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.

[参考译文] RTOS/TMS320F2.8335万:尝试将DSP/BIOS示例项目编译为C++时出现未定义的符号错误。

Guru**** 2553450 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/631695/rtos-tms320f28335-undefined-symbol-errors-when-i-try-to-compile-dsp-bios-example-project-as-c

部件号:TMS320F2.8335万

工具/软件:TI-RTOS

您好,

当我尝试将附加的示例项目编译为C++时,收到一个未定义的符号错误。

我是否应该做些特别的事情来使它与C++协同工作?

斯蒂芬

e2e.ti.com/.../F2.8335万_5F00_example_5F00_BIOS5_5F00_flash.zip

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

    请发布生成输出吗?

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

    您还在使用什么CCS和Windows版本?

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

    e2e.ti.com/.../F2.8335万_5F00_example_5F00_BIOS5_5F00_flash_5F00_BUILD_5F00_OUTPUT.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我使用的是6.2 的0.0.005万 和windows 7 (64位)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我还在使用xdctools_3_32_01_22_core和BIOS_5_42_02_10
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否能够找到任何信息?

    我认为不会有任何名称转换问题,因为所有文件都编译为c++文件。

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

    Todd让我看看这个,因为他在让好的ol DSP/BIOS运行时遇到了困难。 如果我发现任何问题或有任何其他问题,我会通知您。

    此致,

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

    stevenh 说:
    由于所有文件都编译为c++文件,我不认为会有任何名称转换问题。[/QUOT]

    我不是C++的人,但很明显,当编译为C++时,名称转换不会发生。

    为了适应这种名称转换的缺失(即前导下划线),您需要ASM文件标签不带"_"。  我建议您在ASM文件中对每个全局文件进行双重标记-一个标签带有 前导 "_",另一个标签没有前导"_",以便ASM文件可用于C和C++引用。

    您还需要防止tconf在.tcf文件中为prog.extern (label)语句应用前导"_"。  可以通过向“C++”的prog.extern提供第二个参数来实现此目的。  例如,更改
       prog.extern ("Userinit");

       prog.extern ("Userinit","C++");

    此致,

    - Rob

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这对我来说不起作用。 链接程序仍将Userinit显示为未定义的符号。

    是否有描述prog.extern ()之类命令的文档?

    斯蒂芬
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Tconf用户手册的第5-17页的5.5 部分介绍了Program.extern方法。 以下是链接: www.ti.com/.../spru007i.pdf

    其它符号是否已解决?

    也许"ASM"会更好地发挥作用?

    此致,

    - Rob