CMake ile OpenCV Android uygulama cv :: fastFree (void *) Hata' referansı tanımsız

oy
0

Ben Android'de CMake ile OpenCV310 uygulamak çalışıyorum. Ben birlikte dlib kütüphane ve OpenCV kitaplığı kullanıyorum. Örnek proje github bağlantı

Bu github bağlantısında, onun Android NDK üzerinde dlib kütüphanede opencv yöntemleri çağırmadan. Ben cmake ile bu projeyi kendim uygulamak çalışıyorum. Ben basit yerli-lib.cpp dosyasından OpenCV aramayı denedim. Ve onun çalışma. i eklendiğinde Ama başlamış dlib hataları verir.

Error:(571) undefined reference to 'cv::fastFree(void*)'
Error:(682) undefined reference to 'cv::Mat::deallocate()'

Bu benim CKağıt dosyasıdır.

cmake_minimum_required(VERSION 3.4.1)


set(CMAKE_VERBOSE_MAKEFILE on)
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -std=gnu++11)

set(pathToProject C:/Users/lenovo/AndroidStudioProjects/AdviserOpenCV3)
set(pathToOpenCV C:/Users/lenovo/Desktop/openCV310/OpenCV-3.1.0-android-sdk/OpenCV-android-sdk)

set(JNI_DETECTION_INCLUDE src/main/jni/jni_detections)
set(JNI_DETECTION_SRC src/main/jni/jni_detections)
set(JNI_COMMON_INCLUDE src/main/jni)
set(JNI_COMMON_SRC src/main/jni/jni_common)
set(DLIB_DIR src/main/dlib)
set(EXT_DIR src/main/third_party)

include_directories(${pathToOpenCV}/sdk/native/jni/include)
#include_directories(${DLIB_DIR}  ${JNI_COMMON_INCLUDE} ${JNI_DETECTION_INCLUDE} include)

add_library( lib_opencv SHARED IMPORTED)

set_target_properties(lib_opencv PROPERTIES IMPORTED_LOCATION
                      ${pathToProject}/app/src/main/jniLibs/${ANDROID_ABI}/libopencv_java3.so)

add_library(android_dlib SHARED
            ${JNI_DETECTION_SRC}/jni_face_det.cpp
            ${JNI_DETECTION_SRC}/jni_imageutils.cpp
            ${JNI_DETECTION_SRC}/jni_pedestrian_det.cpp
            ${JNI_COMMON_SRC}/jni_bitmap2mat.cpp
            ${JNI_COMMON_SRC}/jni_fileutils.cpp
            ${JNI_COMMON_SRC}/jni_utils.cpp
            ${JNI_COMMON_SRC}/rgb2yuv.cpp
            ${JNI_COMMON_SRC}/yuv2rgb.cpp
            ${DLIB_DIR}/threads/threads_kernel_shared.cpp
            ${DLIB_DIR}/entropy_decoder/entropy_decoder_kernel_2.cpp
            ${DLIB_DIR}/base64/base64_kernel_1.cpp
            ${DLIB_DIR}/threads/threads_kernel_1.cpp
            ${DLIB_DIR}/threads/threads_kernel_2.cpp
            ${EXT_DIR}/glog/logging.cc)


add_library( # Sets the name of the library.
             native-lib

             # Sets the library as a shared library.
             SHARED

             # Provides a relative path to your source file(s).
             src/main/cpp/native-lib.cpp )

# Searches for a specified prebuilt library and stores the path as a
# variable. Because CMake includes system libraries in the search path by
# default, you only need to specify the name of the public NDK library
# you want to add. CMake verifies that the library exists before
# completing its build.

find_library( # Sets the name of the path variable.
              log-lib

              # Specifies the name of the NDK library that
              # you want CMake to locate.
              log )

# Specifies libraries CMake should link to your target library. You
# can link multiple libraries, such as libraries you define in this
# build script, prebuilt third-party libraries, or system libraries.

target_link_libraries( # Specifies the target library.
                   android_dlib
                   lib_opencv
                   # Links the target library to the log library
                   # included in the NDK.
                   $\{log-lib} )

Bu sorunu nasıl çözebilirim? Katkılarınız için teşekkür ederiz. Saygılarımla,

Oluştur 23/04/2018 saat 11:57
kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
0

Sen arasındaki bağımlılık beyan etmelidir yerli-lib ve lib_opencv . Muhtemelen istediğiniz android_dlib çok:

target_link_libraries(
    native-lib
    android_dlib
    lib_opencv
   # Links the target library to the log library
   # included in the NDK.
    log )

Yukarıda da görüldüğü gibi, gerek yok $ {log-lib} sizin komut; Android NDK tanımlar günlük sizin için kütüphane.

Cevap 23/04/2018 saat 12:32
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more