将第三方库添加到必要的Qt项目?

问题描述:

我想外部库添加到我的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中?

在Eclipse中,单击“配置构建路径”,然后“添加JAR”,然后选择您的库。