2011-10-11 72 views
0

我试图编译为Android pocketsphinx和我在编译过程中出现以下错误:错误编制pocketsphinx为Android

/home/spodder/Speech/PocketSphinxDemo/jni/pocketsphinx_wrap.c: At top level: 
/home/spodder/Speech/PocketSphinxDemo/jni/pocketsphinx_wrap.c:1518: fatal error: opening dependency file /home/spodder/Speech/PocketSphinxDemo/obj/local/armeabi/objs-debug/pocketsphinx_jni/pocketsphinx_wrap.o.d.org: Permission denied 
compilation terminated. 
make: *** [/home/spodder/Speech/PocketSphinxDemo/obj/local/armeabi/objs-debug/pocketsphinx_jni/pocketsphinx_wrap.o] Error 1 

我已按照http://cmusphinx.sourceforge.net/2011/05/building-pocketsphinx-on-android/comment-page-1/

文件pocketsphinx_wrap提到的所有步骤。 odorg甚至不存在,但pocketsphinx_wrap.od存在于指定位置。

我将pocketsphinx_wrap.o.d复制到pocketsphinx_wrap.o.d.org,并给予每个rwx权限。仍然发生错误。

然而,当我运行它运行的应用程序,以下错误在logcat中看到

E/AndroidRuntime( 368): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
E/AndroidRuntime( 368): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
E/AndroidRuntime( 368): at dalvik.system.NativeStart.main(Native Method) 
E/AndroidRuntime( 368): Caused by: java.lang.UnsatisfiedLinkError: Library pocketsphinx_jni not found 
E/AndroidRuntime( 368): at java.lang.Runtime.loadLibrary(Runtime.java:461) 
E/AndroidRuntime( 368): at java.lang.System.loadLibrary(System.java:557) 
E/AndroidRuntime( 368): at edu.cmu.pocketsphinx.demo.PocketSphinxDemo.<clinit>(PocketSphinxDemo.java:19) 

有其他人遇到过类似的问题? 这是否必须对文件权限进行任何操作,或者文件的名称因错误发生而错误设置?

在此先感谢!

+0

请提供完整的版本日志。错误的最可能原因列在您提供的最后3行之上。 –

+0

感谢您关注Nikolay。 我可以通过从 eclipse中删除ndk构建来解决问题,因为我已经从命令行构建了它。 –

回答

1

删除ndk构建表单Eclipse解决了这个问题。

由于编译错误在编译本机代码,这是 已经从命令行外部构建,没有错误。