一、出现的问题
最近使用 Keil-MDK 中的 ARM Compiler 6
(简称AC6
)编译工程时,
出现警告:warning: illegal character encoding in string literal [-Winvalid-source-encoding]
。
二、解决办法
1. 定位到出现警告的地方
定位到出现警告的地方,是在使用 printf()
函数打印输出包含中文字符串。
如果项目中有使用 printf()
函数打印输出包含中文字符串,则 AC6
编译过程会弹出警告信息,虽然不影响使用,但是十分烦人。
2. 屏蔽警告信息
点击 “Options for Target…”,选择 “C/C++(AC6)” 栏,
在 “Misc Controls” 框中填入 -Wno-invalid-source-encoding
将这类警告信息屏蔽。
三、总结
出现这种状况,大概是因为 AC6
对于中文支持不好吧。。
ps:项目文件目录一定不要有中文路径,否则不能使用 “Go To Definition” 跳转功能。文章来源:https://www.toymoban.com/news/detail-498549.html
如果想要添加安装原来的旧编译器 AC5(ARM Compiler 5),请看下篇文章:
↓
\downarrow
↓
↓
\downarrow
↓
↓
\downarrow
↓ 传送门
↓
\downarrow
↓
↓
\downarrow
↓
↓
\downarrow
↓
《Keil(MDK-ARM)如何补充安装旧的编译器 AC5(ARM Compiler 5)》
文章来源地址https://www.toymoban.com/news/detail-498549.html
到了这里,关于在 Keil-MDK 中使用 printf() 打印输出中文时,出现警告的解决办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!