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.

[参考译文] 编译器/LP-CC2652RB:示例:简单外设-在将文件名更改为 CPP 时发生链接时错误记录-使用不兼容的类型重新声明符号

Guru**** 2560390 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/784642/compiler-lp-cc2652rb-example-simple-peripheral---on-change-of-file-names-to-cpp-a-linktime-error-occures---symbol-redeclared-with-incompatible-type

器件型号:LP-CC2652RB

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

您好!

我刚刚尝试了 simple_Peripheral 示例项目、它运行良好。

由于我想在 C++中进行开发、我现在将项目中的所有文件更改为*。cpp 结尾。

我必须更正一些缺失的指针表、但最终编译器可以对其进行编译。

遗憾的是、链接器现在抱怨示例工程中方法的重新声明不兼容。

以下是误差输出:

错误:符号"GATT_BM_FREE"重新声明、其不兼容的类型为:



"C:/ti/simplelink_cc13x2_26x2_sdk_2_40_00_81/source/ti/ble5stack/inc/gatt.h 中第1486行的"void (gattMsg_t *、uint8)"和


"C:/ti/simplelink_cc13x2_26x2_sdk_2_40_00_81/source/ti/ble5stack/inc/gatt.h
中第1486行的"void (gattMsg_t *、uint8)") 

我不理解这里的错误消息、它位于相同的文件和相同的行中、并且与 extern "C"相关的 C++预处理器行位于标头中、因此我不知道错误的真正来源。

我之前对 simple_Central 项目也做了同样的事情、在这里它可以正常工作、没有任何错误!

如果您能帮我解决这个问题、我会非常高兴、因为您可以找到项目源代码、以便更深入地了解它!

此致

Andrease2e.ti.com/.../simple_5F00_peripheral_5F00_firmwares_2D00_cc26x2.zip

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

    感谢您将问题通知我们并提交测试案例。  我可以重现相同的行为。  我在 SDOWP 系统中提交了条目 CodeGen-6070以进行调查。  欢迎您在我的签名中使用下面的 SDOWP 链接进行访问。  此时、我不确定这是否是编译器工具中的问题。  如果不是、调查应指明导致错误的原因。  这可能是 SimpleLink SDK 代码中的一个问题、如果是、我将确保为其提交适当的条目。

    谢谢、此致、

    乔治

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我使用了项目0、并且在更改为 C++后得到了相同的错误。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的,谢谢乔治!

    我刚才看到已在该字段中发布了一个权变措施。 我会在有时间后立即尝试。

    周末愉快!

    Andreas