生成命令失败。使用参数执行过程时出错

时间:2020-06-17 02:03:23

标签: java android opencv cmake android-ndk

我最近刚在jnilib中添加了 arm64-v8a ,却收到了此错误

Build command failed.
Error while executing process C:\Users\mirza\AppData\Local\Android\Sdk\cmake\3.10.2.4988404\bin\ninja.exe with arguments {-C E:\out\ScannerPro\app\.cxx\cmake\debug\arm64-v8a magic-lib native-lib}
ninja: Entering directory `E:\out\ScannerPro\app\.cxx\cmake\debug\arm64-v8a'
[1/4] Building CXX object CMakeFiles/magic-lib.dir/src/main/cpp/magic-lib.cpp.o
[2/4] Building CXX object CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o
[3/4] Linking CXX shared library ..\..\..\..\build\intermediates\cmake\debug\obj\arm64-v8a\libmagic-lib.so
FAILED: ../../../../build/intermediates/cmake/debug/obj/arm64-v8a/libmagic-lib.so 
cmd.exe /C "cd . && C:\Users\mirza\AppData\Local\Android\Sdk\ndk\21.2.6472646\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=aarch64-none-linux-android23 --gcc-toolchain=C:/Users/mirza/AppData/Local/Android/Sdk/ndk/21.2.6472646/toolchains/llvm/prebuilt/windows-x86_64 --sysroot=C:/Users/mirza/AppData/Local/Android/Sdk/ndk/21.2.6472646/toolchains/llvm/prebuilt/windows-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security   -O0 -fno-limit-debug-info  -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libgcc_real.a -Wl,--exclude-libs,libatomic.a -static-libstdc++ -Wl,--build-id -Wl,--fatal-warnings -Wl,--no-undefined -Qunused-arguments -shared -Wl,-soname,libmagic-lib.so -o ..\..\..\..\build\intermediates\cmake\debug\obj\arm64-v8a\libmagic-lib.so CMakeFiles/magic-lib.dir/src/main/cpp/magic-lib.cpp.o  ../../../../src/main/jniLibs/arm64-v8a/libopencv_java3.so -latomic -lm && cd ."
CMakeFiles/magic-lib.dir/src/main/cpp/magic-lib.cpp.o: In function `Mat':
E:\out\ScannerPro\app\.cxx\cmake\debug\arm64-v8a/../../../../libs/opencv_include/sdk/native/jni/include\opencv2/core/mat.inl.hpp:521: undefined reference to `cv::Mat::updateContinuityFlag()'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
[4/4] Linking CXX shared library ..\..\..\..\build\intermediates\cmake\debug\obj\arm64-v8a\libnative-lib.so
FAILED: ../../../../build/intermediates/cmake/debug/obj/arm64-v8a/libnative-lib.so 
cmd.exe /C "cd . && C:\Users\mirza\AppData\Local\Android\Sdk\ndk\21.2.6472646\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=aarch64-none-linux-android23 --gcc-toolchain=C:/Users/mirza/AppData/Local/Android/Sdk/ndk/21.2.6472646/toolchains/llvm/prebuilt/windows-x86_64 --sysroot=C:/Users/mirza/AppData/Local/Android/Sdk/ndk/21.2.6472646/toolchains/llvm/prebuilt/windows-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security   -O0 -fno-limit-debug-info  -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libgcc_real.a -Wl,--exclude-libs,libatomic.a -static-libstdc++ -Wl,--build-id -Wl,--fatal-warnings -Wl,--no-undefined -Qunused-arguments -shared -Wl,-soname,libnative-lib.so -o ..\..\..\..\build\intermediates\cmake\debug\obj\arm64-v8a\libnative-lib.so CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o  ../../../../src/main/jniLibs/arm64-v8a/libopencv_java3.so -latomic -lm && cd ."
CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o: In function `Mat':
E:\out\ScannerPro\app\.cxx\cmake\debug\arm64-v8a/../../../../libs/opencv_include/sdk/native/jni/include\opencv2/core/mat.inl.hpp:521: undefined reference to `cv::Mat::updateContinuityFlag()'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

我的CMakeLists.txt文件是

cmake_minimum_required(VERSION 3.4.1)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/libs/opencv_include/sdk/native/jni/include)
add_library( lib_opencv SHARED IMPORTED )
set_target_properties(lib_opencv PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}/libopencv_java3.so)
add_library(
             native-lib
             SHARED
             src/main/cpp/native-lib.cpp
             )
add_library(
            magic-lib
            SHARED
            src/main/cpp/magic-lib.cpp

)

target_link_libraries(
                       native-lib
                       lib_opencv
                       )
target_link_libraries(
                       magic-lib
                       lib_opencv
                       )

#[[
cmake ( -DCMAKE_TOOLCHAIN_FILE=$NDK_PATH/build/cmake/android.toolchain.cmake -DANDROID_ABI="arm64-v8a")]]

0 个答案:

没有答案