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.
大家好、
客户正在使用 AWR1843器件、 编译器为 C:\ti\ccs1120\ccs\tools\compiler\ti-cgt-arm_20.2.LTS
问题: 如何配置 CCS 以支持"函数声明"与"定义"不同? C 支持此操作、但 CCS 将报告错误。 这样做的原因是他们将代码从其他平台复制到 TI 平台、而且这个代码已经在其他非 TI 平台中使用。
错误: 说明资源路径位置类型、 #148声明与"void functionname (const uint8_t *、uint16_t)"不兼容(在第3700行声明)
typedef uint8_t data_u8[1];
void functionname (uint8_t * aaa);
void 函数名( DATA_u8 *AAAA)
{
}
谢谢。
卫斯理
对于生成此诊断时生成的源文件...
不兼容声明与"void functionname (const uint8_t *、uint16_t )
谢谢。此致、
-George.
您好、George、
编译器版本是 ti-cgt-arm_20.2.5.LTS
请参阅附加 TXT 中的 pp 文件和构建日志。
e2e.ti.com/.../0576.build_5F00_log.txte2e.ti.com/.../mss_5F00_main.pp.txt
谢谢。
此致。
卫斯理
不是下面的答案。。
而不是:
typedef uint8_t data_u8[1];
应为:
typedef uint8_t data_u8;
尊敬的 Kier:
客户同意此更改可以解决此问题、但他们面临的挑战是他们需要将代码与其他非 TI 平台相同、在其他平台中、可以编译此代码而不会出现问题。
继续需要您对如何配置编译器的支持、以 确保编译器支持这种语法书写。
谢谢。
此致、
卫斯理
遗憾的是、TI 专有 Arm 编译器会对此代码发出错误。 没有方法可以抑制或以其他方式避免此错误。
我将这段代码的精简版本上传到了 编译器资源管理器、并使用很多编译器进行了测试。 Microsoft 编译器(称为 MSVC 编译器资源管理器上)发出警告。 我尝试的所有其他编译器都会发出错误。
遗憾的是、您别无选择、只能更改代码。 但是、一旦代码被修复、这两个编译器都会编译干净。
谢谢。此致、
-George.