我正在尝试编译Android版的pocketsphinx,在编译过程中我得到了以下错误:
/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.o.d.org甚至不存在,但是pocketsphinx_wrap.o.d存在于指定的位置。
我将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)还有没有人遇到过类似的问题?这是否与文件权限有关,或者文件的名称设置错误是因为发生了错误?
提前感谢!!
发布于 2011-10-12 18:19:47
删除ndk构建表单Eclipse解决了这个问题。
因为编译错误是在编译本机代码时发生的,本机代码已经是从命令行外部构建的,没有错误。
https://stackoverflow.com/questions/7725072
复制相似问题