error 预处理器命令必须作为第一个非空白空间启动
前段时间编写c++工程时遇到这个错误。找了很多文章都没有解决。最后发现了解救办法。
error C2018: 未知字符“0xa1”;
error 预处理器命令必须作为第一个非空白空间启动
原因:出错的文件被加上了识别码。所以在文件的最前面加上了看不见的识别码。就会报这个错误。
识别码是在windows上识别文件编码用的。判断文件的编码是utf-8、gbk、big5等。
解决方法:去掉识别吗。用可以看到二进制的编译器打开文件。我用的是madedit。用二进制侧看。把前面的六位识别码删除即可。
------------------------------------------------------------------------------------
另外一种可能:
这可能是从其他文本资源复制代码进来导致的字符转换的问题,有看不见的非法字符,估计在头尾部分。
解决办法:把代码照原样重新敲进去或者删除一下空格即可.