一、出现的问题

  最近使用 Keil-MDK 中的 ARM Compiler 6(简称AC6)编译工程时,
  出现警告:warning: illegal character encoding in string literal [-Winvalid-source-encoding]

ARM compiler 6


二、解决办法

1. 定位到出现警告的地方

  定位到出现警告的地方,是在使用 printf() 函数打印输出包含中文字符串。

  如果项目中有使用 printf() 函数打印输出包含中文字符串,则 AC6 编译过程会弹出警告信息,虽然不影响使用,但是十分烦人。

warning

2. 屏蔽警告信息

  点击 “Options for Target…”,选择 “C/C++(AC6)” 栏,
  在 “Misc Controls” 框中填入 -Wno-invalid-source-encoding 将这类警告信息屏蔽。

屏蔽警告

三、总结

  出现这种状况,大概是因为 AC6 对于中文支持不好吧。。
  ps:项目文件目录一定不要有中文路径,否则不能使用 “Go To Definition” 跳转功能。

  如果想要添加安装原来的旧编译器 AC5(ARM Compiler 5),请看下篇文章:
   ↓ \downarrow ↓ \downarrow ↓ \downarrow 传送门 ↓ \downarrow ↓ \downarrow ↓ \downarrow
  《Keil(MDK-ARM)如何补充安装旧的编译器 AC5(ARM Compiler 5)》


Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐