主题中讨论的其他器件:CC1352P
工具/软件:Code Composer Studio
您好-
我继承了一个现有 CCS 工程、该工程在"C"语言中包含基于 CC13532P "传感器"应用程序的源代码。 我编写了一个 C++类(在接口文件和实现文件对中)并将其添加到项目中。 出现了许多与新源代码中的语法无关的错误、但似乎与未为 C++正确配置项目相关。 我可以使用一些帮助重新配置项目、希望不要重新创建)。
出现的错误包括:
新的源代码包括 。 预处理器找不到中使用的符号 : #20 identifier _LIBCPP_BEGIN_namespace_STD 未定义。
在处理新的 C++文件时、"sensors.opts"文件中列出的所有定义都不会提供给编译器。 例如、"sensors.opts"包含以下定义:"-DOSAL_PORT2TIRTOS "。 此宏在编译 C++文件时未定义、但在编译"C"文件时定义。
项目构建配置使用 TI 编译器 v20.2.3 LTS、该编译器使用支持 C 和 C++的"armcl"编译器。
E2E 论坛上的其他帖子建议启用项目属性[ARM Compiler->Advanced Options->Language Options]下的"Treat C files as C++ files"选项。 我尝试过这种方法、但这会在现有的"C"代码中导致大量编译错误、直到现在、这些代码已完全编译。
最后、为了尽可能多地解决编译错误、我必须将两个新的 C++文件显式添加到项目属性[ARM 编译器->Advanced Options->File Type Specifier (.C .cpp.cc 的默认值)(-cpp_file、-FP)"部分中。 鉴于 armcl 编译器用于'C'和 C++、我认为没有必要显式标识文件、因为文件名上的后缀会提示编译器内部的内容。
我使用的是 CCS v10.1.1.00004。 项目详细信息包括:
- 项目基于 CC1352P"传感器"应用。
- 编译配置使用 TI 编译器 v20.2.3 LTS
- 包括 XDCTools 3_61_02_27_CORE
- 包括 SimpleLink CC13x2/26x2 SDK 3_40_00_02
提前感谢您周到的回复。
Jason