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万:RTOS/TMS320F2.8335万:尝试将DSP/BIOS示例项目编译为C++时出现未定义的符号错误。

Guru**** 2587365 points


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

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

部件号:TMS320F2.8335万

工具/软件:TI-RTOS

我正在尝试将RTOS示例项目编译为C++。 我正在使用

tcf文件中的prog.extern ("task","C++")。仍然无法识别task函数。

如果我使用C构建项目,它可以正常工作。 请参阅随附的项目。

未定义的第一个引用

文件中的符号

------------------- --------

tskcfg.obj

错误#1.0234万-D:仍存在未解析的符号

错误#1.001万:链接期间遇到错误;未生成"RTOS_NGCB.U"

>>编译失败

Makefile:141:目标'RTOS_NGCB.OUT的配方失败

gmake:***[RTOS_NGCB.OT]错误1

gmake:由于错误,目标'all'没有重制。

e2e.ti.com/.../RTOS_5F00_NGCB.zip

请参阅随附的项目。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我正在阅读以下帖子的答案,但这对我没有帮助。

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

    您正在使用哪个版本的DSP/BIOS和CCS?

    当您在.tcf中使用“C++”时,是否要将tsk.c重命名为tsk.cpp?

    托德
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    CCS版本:6.1 .................3.
    编译器版本:6.4 .................................................................10.
    DSP/BIOS版本:BIOS_5_42_02_10
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否尝试将tsk.c重命名为tsk.cpp?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我试图将"tsk.c"重命名为"tsk.cpp ",但没有任何帮助。 对于由config工具生成的"tskcfg.obj"文件,出现未定义的符号错误。 如果我尝试将"tskcfg.c"重命名为"tskcfg.cpp",配置工具将生成另一个名为"tskcfg.c"的文件。

    仅当启用“将C文件视为C++文件”选项时,才会出现未定义的符号错误。 我需要启用此选项,因为我计划将C++用于项目。

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

    我要从.tcf文件中删除“C++”。 然后围绕任务函数添加以下内容。

    #ifdef __cplusplus
    外部"C"{
    #endif

    作废任务(...)

    ...

    #ifdef __cplusplus
    }
    #endif