Yeni ndk desteği ile yerli OpenCv 3.0.0'ı kullanmakta zorlanıyorum. Aşağıda, aldığım hata var. Gradel veya cmake dosyamda herhangi bir şey eksik miyim? Lütfen bana haber ver. Yanlış giden neAndroid Studio ile OpenCv 2.2+ cmake ile yeni gradel kullanma - undefined reference
Error:FAILURE: Build failed with an exception.
- : Yürütme görev için başarısız oldu ': app: externalNativeBuildDebug'.
OpenCV_DIR
AyarBuild command failed. Error while executing 'C:\Users\User\AppData\Local\Android\sdk\cmake\3.6.3155560\bin\cmake.exe' with arguments {--build E:\OpenCvAndroid\OPecvTry2CSupport\app.externalNativeBuild\cmake\debug\mips64 --target native-lib} [1/1] Linking CXX shared library ..\obj\mips64\libnative-lib.so FAILED: cmd.exe /C "cd . && C:\Users\User\AppData\Local\Android\sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe -target mips64el-none-linux-android -gcc-toolchain C:/Users/User/AppData/Local/Android/sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/windows-x86_64 --sysroot=C:/Users/User/AppData/Local/Android/sdk/ndk-bundle/platforms/android-21/arch-mips64 -fPIC -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -O0 -fno-limit-debug-info -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -shared -Wl,-soname,libnative-lib.so -o ..\obj\mips64\libnative-lib.so CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o -llog -lm "C:/Users/User/AppData/Local/Android/sdk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips64/libgnustl_static.a" && cd ." CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o: In function
~Mat': E:/OpenCVSdk/sdk/native/jni/include\opencv2/core/mat.hpp:278: undefined reference to
cv::fastFree(void*)' CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o: In functioncv::Mat::release()': E:/OpenCVSdk/sdk/native/jni/include\opencv2/core/mat.hpp:367: undefined reference to
cv::Mat::deallocate()' clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation) ninja: build stopped: subcommand failed.
Ve Cmake.txt
cmake_minimum_required(VERSION 3.4.1)
add_library(native-lib
SHARED
src/main/cpp/native-lib.cpp)
include_directories(E\:\\OpenCVSdk\\sdk\\native\\jni\\include)
find_library(log-lib log)
target_link_libraries(native-lib ${log-lib})
Ve Gradel kurmak dosya
{ apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "24.0.2"
defaultConfig {
applicationId "viki.opecvtry2csupport"
minSdkVersion 16
targetSdkVersion 24
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {
cppFlags ""
}
}
}
dizin gerektiğini dahil Link Gradle to your native library
benim tam CMakeList.txt unutma
target_link_libraries eklemedeki tarafından sorunumu "lib_opencv" lib sabit Cmake sözdizimi ile kal, düşündüm: include_directories (yol/to/sizin/sdk/native/jni/include) target_link_libraries (native-lib günlüğü) – Gerry
İçe aktarılan ffmpeg paylaşılan kitaplığı ile benzer bir sorunu yaşıyorum, çözüm buldunuz mu? –
Yine de bir çözüm bulamadım – vicky