2012-03-03 104 views
0

我想外部庫添加到我的necessitas Qt工程,所以我加了下面一行到.pro文件:將第三方庫添加到必要的Qt項目?

INCLUDEPATH + = $$ PWD /包括

LIBS + = -L $$ PWD /共享/庫/ armeabi -lopenal

然而,當我開始運行我的應用程序,它未能啓動:

m(3443): DexOpt: --- BEGIN 'QtIndustrius-14.jar' (bootstrap=0) --- 
D/dalvikvm(3443): DexOpt: --- END 'QtIndustrius-14.jar' (success) --- 
D/dalvikvm(3443): DEX prep '/data/data/org.kde.necessitas.ministro/files/qt/jar/QtIndustrius-14.jar': unzip in 22ms, rewrite 438ms 
D/dalvikvm(3443): Trying to load lib /data/data/org.kde.necessitas.ministro/files/qt/lib/libQtCore.so 0x4050e990 
D/dalvikvm(3443): Added shared lib /data/data/org.kde.necessitas.ministro/files/qt/lib/libQtCore.so 0x4050e990 
D/dalvikvm(3443): No JNI_OnLoad found in /data/data/org.kde.necessitas.ministro/files/qt/lib/libQtCore.so 0x4050e990, 
skipping init 
D/dalvikvm(3443): Trying to load lib /data/data/org.kde.necessitas.ministro/files/qt/lib/libQtGui.so 0x4050e990 
D/dalvikvm(3443): Added shared lib /data/data/org.kde.necessitas.ministro/files/qt/lib/libQtGui.so 0x4050e990 
D/dalvikvm(3443): No JNI_OnLoad found in /data/data/org.kde.necessitas.ministro/files/qt/lib/libQtGui.so 0x4050e990, 
skipping init 
D/dalvikvm(3443): Trying to load lib /data/data/org.kde.necessitas.ministro/files/qt/plugins/platforms/android/ 
libandroid-9.so 0x4050e990 
D/dalvikvm(3443): Added shared lib /data/data/org.kde.necessitas.ministro/files/qt/plugins/platforms/android/ 
libandroid-9.so 0x4050e990 
I/Qt  (3443): qt start 
D/dalvikvm(3443): Trying to load lib /data/data/org.kde.necessitas.example.AndroidPlayer/lib/libAndroidPlayer.so 
0x4050e990 
W/System.err(3443): java.lang.reflect.InvocationTargetException 
W/System.err(3443):   at java.lang.reflect.Method.invokeNative(Native Method) 
W/System.err(3443):   at java.lang.reflect.Method.invoke(Method.java:507) 
W/System.err(3443):   at org.kde.necessitas.origo.QtActivity.loadApplication(QtActivity.java:144) 
W/System.err(3443):   at org.kde.necessitas.origo.QtActivity.access $200(QtActivity.java:77) 
W/System.err(3443):   at org.kde.necessitas.origo.QtActivity $3$1$1.run(QtActivity.java:201) 
W/System.err(3443):   at android.os.Handler.handleCallback(Handler.java:587) 
W/System.err(3443):   at android.os.Handler.dispatchMessage(Handler.java:92) 
W/System.err(3443):   at android.os.Looper.loop(Looper.java:123) 
W/System.err(3443):   at android.app.ActivityThread.main(ActivityThread.java:3683) 
W/System.err(3443):   at java.lang.reflect.Method.invokeNative(Native Method) 
W/System.err(3443):   at java.lang.reflect.Method.invoke(Method.java: 507) 
W/System.err(3443):   at com.android.internal.os.ZygoteInit $MethodAndArgsCaller.run(ZygoteInit.java:839) 
W/System.err(3443):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
W/System.err(3443):   at dalvik.system.NativeStart.main(Native Method) 
W/System.err(3443): Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: link_image[1962]: 33 could not load needed library 
'libopenal.so' for 'libAndroidPlayer.so' (load_library[1104]: Library 'libopenal.so' not found) 
W/System.err(3443):   at java.lang.Runtime.load(Runtime.java:394) 
W/System.err(3443):   at java.lang.System.load(System.java:534) 
W/System.err(3443):   at org.kde.necessitas.industrius.QtNative.loadBundledLibraries(QtNative.java: 125) 
W/System.err(3443):   at org.kde.necessitas.industrius.QtActivityDelegate.loadApplication(QtActivityDelegate.java: 245) 
W/System.err(3443):   ... 14 more 

但是當我刪除使用外部的lib那些行和文件,我的應用程序去精細。 我已經推送libopenal.so到/ data/local/lib,並通過「export LD_LIBRARY_PATH = $ LD_LIBRARY_PATH:/ data/local/lib」將其添加到全局環境中。

那麼如何添加第三方庫我的項目?以及如何將它們放入我的apk中?

回答

0

在Eclipse中,單擊「配置構建路徑」,然後「添加JAR」,然後選擇您的庫。

相關問題