将第三方库添加到必要的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”,然后选择您的库。