关于C++中 编码不正确编译报错问题

1.报错现象

在编译Geos是报错“警告 C4819 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 ”,曾经在编译QGis时也存在类似报错。
严重性    代码    说明    项目    文件    行    禁止显示状态
警告    C4819    该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失    astyle    D:\Geos\geos-3.8.0\tools\astyle\ASLocalizer.cpp    1    

2.报错原因

由于源代码为 utf-8 编码,本机 locale 为中文,编译时可能出现 ”Newline in constant“ 的错误,需显示告诉编译器源码为 utf-8 :

3.解决办法:

右键项目属性|配置属性|C/C++|命令行|其他选项 里添加:   /source-charset:utf-8

参考链接:
 



posted @ 2020-08-23 19:35  焦涛  阅读(682)  评论(0)    收藏  举报