libopencv_java3.在qt文件中
libopencv_java3.so in qt pro file
我在Qt和OpenCV中制作Android应用程序。
它可以在桌面Linux上运行,但是在Android上运行失败:
D/dalvikvm( 8059): Trying to load lib /data/app-lib/com.myselfxyz.testapp-1/libTestApp.so 0x421b4f98
E/dalvikvm( 8059): dlopen("/data/app-lib/com.myselfxyz.testapp-1/libTestApp.so") failed: Cannot load library: soinfo_link_image(linker.cpp:1673): could not load library "libopencv_java3.so" needed by "libTestApp"; caused by load_library(linker.cpp:771): library "libopencv_java3.so" not found
在我的设备上部署应用程序后,文件libopencv_java3。因此位于libTestApp旁边。在/data/app-lib/com.myselfxyz中添加。testapp-1目录,所以我不知道,为什么不能找到它。
我用:
- Android NDK r10e
- OpenCV-android-sdk 3.1.0
- Qt kit: armeabi-v7a (GCC 4.9, Qt 5.5.1)
- 我的手机是Android 4.2.2版本,但我认为这并不重要。
我的qt配置文件看起来像:
TEMPLATE = app
TARGET = TestApp
CONFIG += mobility c++11
MOBILITY += sensors
QT += qml quick widgets declarative sensors core multimedia
SOURCES += main.cpp
bridge.cpp
imageprocessor.cpp
INCLUDEPATH += /usr/lib/jvm/java-7-openjdk-i386/include
/usr/lib/jvm/java-7-openjdk-i386/include/linux
linux:!android {
INCLUDEPATH += /opt/OpenCV/include/
LIBS += -L/opt/OpenCV/build/lib
-lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_videoio
}
android {
QT += androidextras
ANDROID_OPENCV = /opt/OpenCV-android-sdk/sdk/native
INCLUDEPATH += $$ANDROID_OPENCV/jni/include
ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
LIBS += -L$$ANDROID_OPENCV/libs/armeabi-v7a
-L$$PWD/android/libs/armeabi-v7a
-L$$OUT_PWD
-lopencv_core -lopencv_features2d -lopencv_flann -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -lopencv_ml -lopencv_objdetect
-lopencv_photo -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videoio -lopencv_videostab
-lopencv_java3
}
RESOURCES += qml.qrc
# Additional import path used to resolve QML modules in Qt Creator's code model
QML_IMPORT_PATH =
# Default rules for deployment.
include(deployment.pri)
HEADERS +=
bridge.h
imageprocessor.h
DISTFILES +=
android/AndroidManifest.xml
android/res/values/libs.xml
android/src/com/myselfxyz/testapp/JniExport.java
android/src/com/myselfxyz/testapp/TestApp.java
ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
这个答案假设您已经设法在没有opencv的情况下运行应用程序,因此所有其余的都相应地设置。
进入你的项目设置,找到"Build steps"
应该有一个叫做Build Android APK的步骤。点击Details。在Additional libraries列表中,添加libopencv_java3.so
。通常在sdknativelibsarmeabi-v7a
文件夹
相关文章:
- 如何在cpp文件之间切换窗口?在Qt中
- Qt 5.11.2 (Clang 8.0 (Apple), 64 位), 找不到 QJSEngine 文件
- 使用 Bazel 生成 QT 资源文件
- Qt C++:不同文件中同一命名空间的多个Q_NAMESPACE
- 如何识别项目是 QT 中的文件还是文件夹
- 使用 Cmake 在 Qt Creator 中显示头文件
- 如何将网络模块添加到 QT pro 文件中?
- 如何在 qt for windows 中使用 QAxObject 创建 docx 和 doc 文件?
- 如何将 json 数据附加到 Qt 中的现有 json 文件中
- 如何在 CMakeLists.txt Qt Creator 中包含头文件?
- cmake:构建依赖于非源文件.Qt帮助生成
- 如何从 txt 文件 - Qt 中读取特定行
- QIODevice::read:设备未打开远程JSON文件QT
- 在iOS设备上找不到文件QT创建者C QstandardPaths :: StandardLocations(Qs
- 将长字符流写入文本文件QT C++
- 删除单行文本文件QT
- 在.pro文件QT中定义带有转义字符的字符串宏
- 复制多个文件段到一个文件- Qt
- 编译 moc 文件 Qt 4.5.2 intrin.h 意外类型 "void" Visual Studio 2015
- 文件输入-未读取的文件QT