2011-10-11 25 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解決了這個問題。

由於編譯錯誤在編譯本機代碼,這是 已經從命令行外部構建,沒有錯誤。