您的位置:首页 > 编程语言 > C语言/C++

cygwin编译报错:**.cpp:1:1: error: stray '\377' in program解决方法

2014-06-12 00:41 441 查看
编译报错内容:

[armeabi] Compile++ thumb: cocos2dcpp_shared <= HelloWorldScene.cpp
jni/../../Classes/HelloWorldScene.cpp:1:1: error: stray '\377' in program
jni/../../Classes/HelloWorldScene.cpp:1:1: error: stray '\376' in program
jni/../../Classes/HelloWorldScene.cpp:1:1: error: stray '#' in program
jni/../../Classes/HelloWorldScene.cpp:1:4: warning: null character(s) ignored [enabled by default]

jni/../../Classes/HelloWorldScene.cpp:1:6: warning: null character(s) ignored [enabled by default]

……

jni/../../Classes/HelloWorldScene.cpp:49:2: error: expected unqualified-id before '/' token

/cygdrive/e/cocos2d/android-ndk-r9c-windows-x86/android-ndk-r9c/build/core/build-binary.mk:388: recipe for target 'obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/HelloWorldScene.o' failed

make: *** [obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/HelloWorldScene.o] Error 1

make: Leaving directory '/cygdrive/e/cocos2d/cocos2d-x-2.2.1/projects/GODS/proj.android'

在网上找了好几下,没能解决。

有的人说:可能是因为格式不是纯粹的TXT格式子,而我用的编辑器没能认出来。

也有的人说:这个错误一般是源代码中含有一些隐藏的非ascii字符,可能原因在编辑器中使用的utf-8的格式保存源代码中出现了中文的标点符号。

他们建议把东西copy到文本编辑器中,再copy回来试试

还有网友的建议是用UE(下载地址:http://lwr0312.blog.163.com/blog/static/48336807200931695730586/edit/)打开,用16进制编辑,删除掉最前面多余的字节。
我对着操作,搞得晕乎乎,呜呜……没有多余的字或者中文符号啊!并没有解决问题。

后来终于看到一个帖子,里面的“gcc”几个字,让我看到了希望!!!下面附上地址:
http://wenku.baidu.com/link?url=_NgJPYtTUJ-WwLFEk38GgS_e5YdjYlltuc9E4oc4wvGHeGgk7OopTKzX66Epfg6MEYR1M7npZBnNkkwxwG7oRkZpxPgCIoVF6pTNYOYJ7YS
文中提及到“这是因为你的编译器将文件编码存为了UTF-8格式的,可是winavr作为gcc的编译器是不认识这种格式的”,“将UTF-8改掉,改成US-ASIIC或者Chinese
Simple(GB2312)都行,为什么Chinese Simple(GB2312)也行我也不知道,可能其他的也行只要不是UTF-8就行了”。

我这个原本是mac上的项目,移植到win的vs中时我把格式存为Unicode(当时错了!如果当时就改为了ANSI就不会有这些报错了!),现在从VS弄到安卓中(通过cygwin的gcc)要把格式另存为ANSI,然后就可以编译通过了。

搞定,收工!终于,可以安心睡觉觉了!晚安,good night!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐