编码问题造成的android NDK 编译错误

昨天因为文件编码问题造成android NDK编译错误。现在记录下来备忘。

将需要build成.so的c文件、头文件拷到android工程的jni目录下,写好Android.mk和Application.mk,在Eclipse里将编码统一改为shift-jis,然后ndk-build,结果报以下错误:

jni/ENG_Unicode.c:1:1: error: stray '\377' in program
jni/ENG_Unicode.c:1:1: error: stray '\376' in program
jni/ENG_Unicode.c:1:3: error: expected identifier or '(' before '/' token
jni/ENG_Unicode.c:1:4: warning: null character(s) ignored [enabled by default]

........

查了半天,最后发现ENG_Unicode.c这个文件是UTF-16编码,而不是shift-jis,单独将它的编码改为shift-jis后,文件内容乱码,于是将原来的.c文件里的内容用copy和paste的方式粘过来后,保存再ndk-build,好了:)

posted @ 2013-04-08 09:11  shtzsp  阅读(911)  评论(0编辑  收藏  举报