从svn下拉了个新项目,发现用vs一编辑就报错 常量中有换行符;
即使ctrl+z后,svn标记也是红色的,然后svn diff后,报错:
The text is identical, but the files do not match! The following differences were found: Encoding (ASCII, UTF-8)
然后就svn revert,再编译就通了;
最诡异的是用nodepad++修改过后,编译也能过,用nodepad++也看不出什么差异,都是编码字符集->中文->gb2312
然后我看到一篇文章说的ForceUTF8(No BOM)这个vs的工具,在扩展和更新那里,
我寻思着我不是安装了么,然后再次svn revert,在vs2017上编辑后,使用记事本查看vs2017编辑后的文件和没有修改过的源文件,发现没修改的是ANSI编码,而修改过的是utf-8编码
之后禁用 ForceUTF8(No BOM) 这个工具后,编译过去;
总结: 常量中有换行符这个问题一般是文件中有中文,保存文件格式不对,用记事本查看文件的格式后统一项目中格式