하다가 만 저번 글에서 ndk version 을 바꾸어 주었는 데...
가만 생각해 보니, 그 버전에서 컴파일 된 안드로이드 라이브러리가 그 버전으로 컴파일/빌드 된 것이
맞다는 생각이 들었습니다.
그래서, 빌드를 한 번 다시 해보고 안 맞다 싶으면 그냥 이 버전의 라이브러리를 사용 해서 진행 할까 하는 생각이 드네요...
안드로이드 용 OpenCV 빌드하기
안드로이드 용 OpenCV 는 윈도우용 빌드하는 것보다는 정신건강에 덜 해로울 것 같습니다.
여담이지만, 윈도우용으로 빌드 해보겠다고 몇 번을 해봤는 지 세어 봤더니 엄청 많이 해 보았더군요.(참고 1.) 스스로 생각 해 봐도 거의 절반의 성공 정도로 생각입니다.
하지만, 안드로이드 용 OpenCV 는 이미 구글에서 툴체인을 지원해 주기 때문에 조금만 신경써 주면 될 것같아서 진행 해보기로 했습니다.
일단 소스를 받아다가, 빌드를 원하는 곳에다 풀어 줍니다.
위 SDK 를 사용하기 앞서 현재 하고 있는 짓에 대해서 얘기 해본다고 하면,
- 일단 오류가 났다
- 그리고, 그 오류라는 것은 sdk 에 들어 있는 라이브러리가 오래 되었다
- 마지막으로 그 라이브러리를 빌드한 NDK 버전이 오래 되었다.
때문에... 이런 작업을 하고 있다는 것입니다.
툴체인을 위한 SDK 만들기
우선 안드로이드 SDK 를 하나 새로 만들어 주도록 하겠습니다. SDK 폴더에 내용을 채우기 위해서는 sdkmanager가 필요 한데 이는 cmdline-tools 을 사용 해야 합니다.
sdkmanager "build-tools;26.0.3"
"build-tools;29.0.3"
"cmake;3.22.1"
"cmdline-tools;latest"
"ndk;26.1.10909125" "platform-tools"
"platforms;android-29"
--sdk_root=%ANDROID_HOME%
OpenCV 빌드
이렇게 해서 SDK 폴더가 만들어 졌으면, 이제 OpenCV를 빌드 할 준비를 해야 합니다.
빌드를 위해서 참고 할만한 것은 OpenCV SDK 안에 들어 있는 android.toolchain.cmake 를 쳐다보면 다음의 내용이 나옵니다.
# Usage Windows:
# You need native port of make to build your project.
# Android NDK r7 (and newer) already has make.exe on board.
# For older NDK you have to install it separately.
# For example, this one: http://gnuwin32.sourceforge.net/packages/make.htm
#
# $ SET ANDROID_NDK=C:\absolute\path\to\the\android-ndk
# $ mkdir build && cd build
# $ cmake.exe -G"MinGW Makefiles"
# -DCMAKE_TOOLCHAIN_FILE=path\to\the\android.toolchain.cmake
# -DCMAKE_MAKE_PROGRAM="%ANDROID_NDK%\prebuilt\windows\bin\make.exe" ..
# $ cmake.exe --build .
위 내용을 어림잡아서 나의 컴터 환경에 맞추기 위한 환경변수들은 다음과 같습니다.
@ECHO sdkmanager --sdk_root=%ANDROID_HOME% --list
@ECHO sdkmanager "build-tools;26.0.3" "build-tools;29.0.3" "cmake;3.22.1" "cmdline-tools;latest" "ndk;26.1.10909125" --sdk_root=%ANDROID_HOME%
@ECHO SET JAVA_HOME=D:\DEV\Experiments\OpenCV\android-build\jdk-19.0.1
@ECHO SET CXX_HOME=%ANDROID_NDK%\toolchains\llvm\prebuilt\windows-x86_64
@ECHO SET GRADLE_HOME=C:\DEV\Tools\gradle-7.0.2
@REM SET PATH=%PYTHON_HOME%;%GRADLE_HOME%\bin;%ANT_HOME%\bin;%CXX_HOME%\bin;%CMAKE_HOME%\bin;%JAVA_HOME%\bin;%ANDROID_HOME%\cmdline-tools\bin;.;%PATH%
SET JAVA_HOME=C:\DEV\SDK\JDK\jdk-11.0.2
SET ANDROID_HOME=C:\DEV\SDK\android-sdk
SET CMAKE_HOME=%ANDROID_HOME%\cmake\3.22.1
SET ANDROID_NDK=%ANDROID_HOME%\ndk\26.1.10909125
SET ANT_HOME=C:\DEV\Tools\apache-ant-1.9.16
SET CV_HOME=C:\DEV\SDK\opencv-4.8.1
SET PYTHON_HOME=C:\DEV\SDK\anaconda3
@REM SET ARCH=armeabi-v7a
SET ARCH=arm64-v8a
SET PATH=%PYTHON_HOME%;%ANT_HOME%\bin;%CMAKE_HOME%\bin;%JAVA_HOME%\bin;%ANDROID_HOME%\cmdline-tools\bin;.;%PATH%
그럼 다음 명령은 다음과 같이 주면 되겠네요(참고 2. 스크립트 예제)
cmake.exe
-G"MinGW Makefiles"
-DBUILD_SHARED_LIBS=OFF
-DANDROID_SDK=%ANDROID_HOME%
-DBUILD_JAVA=ON
-DBUILD_opencv_java=ON
-DBUILD_opencv_java_bindings_gen=ON
-DJAVA_AWT_INCLUDE_PATH:PATH=%JAVA_HOME%\include
-DJAVA_AWT_LIBRARY:FILEPATH=%JAVA_HOME%\include\jawt.h
-DJAVA_INCLUDE_PATH:PATH=%JAVA_HOME%\include
-DJAVA_INCLUDE_PATH2:PATH=%JAVA_HOME%\include\win32
-DJAVA_JVM_LIBRARY:FILEPATH=%JAVA_HOME%\include\jni.h
-DANT_EXECUTABLE:FILEPATH=%ANT_HOME%/bin/ant.bat
-DCMAKE_TOOLCHAIN_FILE=%ANDROID_NDK%\build\cmake\android.toolchain.cmake
-DCMAKE_MAKE_PROGRAM="C:\DEV\SDK\android-sdk\ndk\26.1.10909125\prebuilt\windows-x86_64\bin\make.exe"
-DANDROID_ABI=%ARCH%
-DCMAKE_INSTALL_PREFIX:PATH=%CV_HOME%/output/%ARCH%/lib/ ..
이 환경 설정에 대한 로그는 다음과 같이 나오면 될 것 같습니다.
... 위에 다 생략 ...
-- Parallel framework: pthreads
--
-- Trace: YES (with Intel ITT)
--
-- Other third-party libraries:
-- Custom HAL: YES (carotene (ver 0.0.1))
-- Protobuf: build (3.19.1)
-- Flatbuffers: builtin/3rdparty (23.5.9)
--
-- Python (for build): C:/DEV/SDK/anaconda3/python.exe
--
-- Java: export all functions
-- ant: C:/DEV/Tools/apache-ant-1.9.16/bin/ant.bat (ver )
-- Java wrappers: YES ()
-- Java tests: NO
--
-- Install to: C:/DEV/SDK/opencv-4.8.1/output/armeabi-v7a/lib
-- -----------------------------------------------------------------
--
-- Configuring done
-- Generating done
-- Build files have been written to: C:/DEV/SDK/opencv-4.8.1/opencv-4.8.1/build
그러고나서 다음 명령을 치
cmake --build .
참고로 cmake 에서 빌드 클린 명령은 다음과 같습니다.
cmake --build . --target clean
한참을 아래 화면을 보고 있으면 됩니다. (74퍼센트까지 왔으니..잘 하면 되겠네요~ㅋ)
오래 기다리면 뭐가 나와도 나옵니다. 그런데 이렇게 하면 모든 테스트 성능 자바 컴파일 등등을 다하고 있어서 정확히 이 짓(?)을 하는 목적은 camera-calibration 을 안드로이드 스튜디오에서 제대로 빌드 하기 위해서 높은 ndk 버전으로 라이브러리를 빌드 하려는 것입니다.
따라서 다음 세개의 스크립트를 테스트 해 보았습니다.
1. 자바 바인딩까지 빌드 하는 버전
cmake.exe -G"MinGW Makefiles" -DBUILD_SHARED_LIBS=OFF -DANDROID_SDK=%ANDROID_HOME% -DBUILD_JAVA=ON -DBUILD_opencv_java=ON -DBUILD_opencv_java_bindings_gen=ON -DJAVA_AWT_INCLUDE_PATH:PATH=%JAVA_HOME%\include -DJAVA_AWT_LIBRARY:FILEPATH=%JAVA_HOME%\include\jawt.h -DJAVA_INCLUDE_PATH:PATH=%JAVA_HOME%\include -DJAVA_INCLUDE_PATH2:PATH=%JAVA_HOME%\include\win32 -DJAVA_JVM_LIBRARY:FILEPATH=%JAVA_HOME%\include\jni.h -DANT_EXECUTABLE:FILEPATH=%ANT_HOME%/bin/ant.bat -DCMAKE_TOOLCHAIN_FILE=%ANDROID_NDK%\build\cmake\android.toolchain.cmake -DCMAKE_MAKE_PROGRAM="C:\DEV\SDK\android-sdk\ndk\26.1.10909125\prebuilt\windows-x86_64\bin\make.exe" -DANDROID_ABI=%ARCH% -DCMAKE_INSTALL_PREFIX:PATH=%CV_HOME%/output/%ARCH%/lib/ ..
cmake.exe -G"MinGW Makefiles" ^
-DBUILD_SHARED_LIBS=OFF ^
-DANDROID_SDK=%ANDROID_HOME% ^
-DBUILD_JAVA=ON ^
-DBUILD_opencv_java=ON ^
-DBUILD_opencv_java_bindings_gen=ON ^
-DJAVA_AWT_INCLUDE_PATH:PATH=%JAVA_HOME%\include ^
-DJAVA_AWT_LIBRARY:FILEPATH=%JAVA_HOME%\include\jawt.h ^
-DJAVA_INCLUDE_PATH:PATH=%JAVA_HOME%\include ^
-DJAVA_INCLUDE_PATH2:PATH=%JAVA_HOME%\include\win32 ^
-DJAVA_JVM_LIBRARY:FILEPATH=%JAVA_HOME%\include\jni.h ^
-DANT_EXECUTABLE:FILEPATH=%ANT_HOME%/bin/ant.bat ^
-DCMAKE_TOOLCHAIN_FILE=%ANDROID_NDK%\build\cmake\android.toolchain.cmake ^
-DCMAKE_MAKE_PROGRAM="C:\DEV\SDK\android-sdk\ndk\26.1.10909125\prebuilt\windows-x86_64\bin\make.exe" ^
-DANDROID_ABI=%ARCH% -DCMAKE_INSTALL_PREFIX:PATH=%CV_HOME%/output/%ARCH%/lib/ ..
위 스크립트는 자바 빌드시 오류가 발생 했으나, 라이브러리는 제대로 빌드가 되었습니다.
실행 시 오류가 발생 합니다.
2. 옵션 추가 버전
cmake.exe -G"MinGW Makefiles" ^
-DBUILD_SHARED_LIBS=OFF ^
-DANDROID_SDK=%ANDROID_HOME% ^
-DBUILD_JAVA=ON ^
-DBUILD_opencv_java=ON ^
-DBUILD_opencv_java_bindings_gen=ON ^
-DJAVA_AWT_INCLUDE_PATH:PATH=%JAVA_HOME%\include ^
-DJAVA_AWT_LIBRARY:FILEPATH=%JAVA_HOME%\include\jawt.h ^
-DJAVA_INCLUDE_PATH:PATH=%JAVA_HOME%\include ^
-DJAVA_INCLUDE_PATH2:PATH=%JAVA_HOME%\include\win32 ^
-DJAVA_JVM_LIBRARY:FILEPATH=%JAVA_HOME%\include\jni.h ^
-DANT_EXECUTABLE:FILEPATH=%ANT_HOME%/bin/ant.bat ^
-DCMAKE_TOOLCHAIN_FILE=%ANDROID_NDK%\build\cmake\android.toolchain.cmake ^
-DCMAKE_MAKE_PROGRAM="C:\DEV\SDK\android-sdk\ndk\26.1.10909125\prebuilt\windows-x86_64\bin\make.exe" ^
-DANDROID_SDK_TOOLS_VERSION=29.0.3 -DANDROID_PLATFORM=android-29 -DGRADLE_VERSION=7.6.3 ^
-DANDROID_ABI=%ARCH% -DCMAKE_INSTALL_PREFIX:PATH=%CV_HOME%/output/%ARCH%/lib/ ..
위 버전도 마찬가지로 오류가 발생 합니다.
따라서 자바 바인딩은 별로 의미가 없어서 바인딩을 만들지 않는 버전으로 진행 합니다.
3. 자바 바인딩 제거
cmake --build . --target clean
cmake.exe -G"MinGW Makefiles" ^
-DBUILD_SHARED_LIBS=OFF ^
-DANDROID_SDK=%ANDROID_HOME% ^
-DBUILD_JAVA=ON ^
-DBUILD_opencv_java=ON ^
-DBUILD_opencv_java_bindings_gen=ON ^
-DBUILD_TESTS=OFF ^
-DBUILD_PERF_TESTS=OFF ^
-DBUILD_ANDROID_EXAMPLES=OFF ^
-DBUILD_ANDROID_PROJECTS=OFF ^
-DJAVA_AWT_INCLUDE_PATH:PATH=%JAVA_HOME%\include ^
-DJAVA_AWT_LIBRARY:FILEPATH=%JAVA_HOME%\include\jawt.h ^
-DJAVA_INCLUDE_PATH:PATH=%JAVA_HOME%\include ^
-DJAVA_INCLUDE_PATH2:PATH=%JAVA_HOME%\include\win32 ^
-DJAVA_JVM_LIBRARY:FILEPATH=%JAVA_HOME%\include\jni.h ^
-DANT_EXECUTABLE:FILEPATH=%ANT_HOME%/bin/ant.bat ^
-DCMAKE_TOOLCHAIN_FILE=%ANDROID_NDK%\build\cmake\android.toolchain.cmake ^
-DCMAKE_MAKE_PROGRAM="C:\DEV\SDK\android-sdk\ndk\26.1.10909125\prebuilt\windows-x86_64\bin\make.exe" ^
-DANDROID_SDK_TOOLS_VERSION=29.0.3 -DANDROID_PLATFORM=android-29 -DGRADLE_VERSION=7.6.3 ^
-DANDROID_ABI=%ARCH% -DCMAKE_INSTALL_PREFIX:PATH=%CV_HOME%/output/%ARCH%/lib/ ..
위의 버전도 마찬가지로 라이브러리 생성에는 문제가 없으나, 여전히 실행 시 오류가 발생 했습니다.
SDK Tool 버전과 Platform 버전을 현재 4.8.1 에서 권장 하는 버전으로 맞춰서 빌드 해 보았습니다.
4. 최종 버전 스크립트(자바바인딩 없음)
cmake --build . --target clean
cmake.exe -G"MinGW Makefiles" ^
-DBUILD_SHARED_LIBS=OFF ^
-DANDROID_SDK=%ANDROID_HOME% ^
-DBUILD_JAVA=ON ^
-DBUILD_opencv_java=ON ^
-DBUILD_opencv_java_bindings_gen=OFF ^
-DBUILD_TESTS=OFF ^
-DBUILD_PERF_TESTS=OFF ^
-DBUILD_ANDROID_EXAMPLES=OFF ^
-DBUILD_ANDROID_PROJECTS=OFF ^
-DJAVA_AWT_INCLUDE_PATH:PATH=%JAVA_HOME%\include ^
-DJAVA_AWT_LIBRARY:FILEPATH=%JAVA_HOME%\include\jawt.h ^
-DJAVA_INCLUDE_PATH:PATH=%JAVA_HOME%\include ^
-DJAVA_INCLUDE_PATH2:PATH=%JAVA_HOME%\include\win32 ^
-DJAVA_JVM_LIBRARY:FILEPATH=%JAVA_HOME%\include\jni.h ^
-DANT_EXECUTABLE:FILEPATH=%ANT_HOME%/bin/ant.bat ^
-DCMAKE_TOOLCHAIN_FILE=%ANDROID_NDK%\build\cmake\android.toolchain.cmake ^
-DCMAKE_MAKE_PROGRAM="C:\DEV\SDK\android-sdk\ndk\26.1.10909125\prebuilt\windows-x86_64\bin\make.exe" ^
-DANDROID_SDK_TOOLS_VERSION=26.0.3 -DANDROID_PLATFORM=android-26 -DGRADLE_VERSION=7.6.3 ^
-DANDROID_ABI=%ARCH% -DCMAKE_INSTALL_PREFIX:PATH=%CV_HOME%/output/%ARCH%/lib/ ..
OpenCV 빌드 : 결론
다음과 같이 TroubleShooting 관련 내용을 작성 해 보았습니다.
결국, 문제는 다음과 같이 발견 되었습니다.
- 현재 실행하고자 하는 갤럭시 탭의 SDK 버전과 빌드한 SDK 호환성 문제
- 갤럭시 탭 SDK 버전은 24 였으나, 빌드 한 권고 버전은 최종 버전이 26이었습니다.
- 따라서, 해당 갤럭시 탭을 업그레이드 하여 해당 문제를 해결 했습니다.
- 최종 버전 스크립트를 사용해서 빌드하고,
- 갤럭시 탭의 소프트웨어 업데이트를 진행
하였습니다. 그리고 해당 결과는 다음과 같이 실행 되는 화면을 볼 수 있었습니다.
다음으로는 갤럭시 탭 3에서 실행 했던 apk 파일과 sdk 빌드 시 사용 했던 libopencv_java4.so 파일 입니다. 기기 SDK 버전 26 이상이어야 합니다.
camera-calibration sample apk
libopencv_java4
다음 해 볼것은 제목에 맞게
camera-calibration 샘플을 약간 고쳐서 객체감지 샘플을 만들어 볼까 합니다.
이상.
참고 1.
참고 2. 스크립트 예제
cmake \
-D CMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_HOME_21}/build/cmake/android.toolchain.cmake \
-D OPENCV_EXTRA_MODULES_PATH=$SOURCE/opencv/opencv_contrib/modules/ \
-D BUILD_SHARED_LIBS=ON \
-D BUILD_TESTS=OFF \
-D BUILD_PERF_TESTS=OFF \
-D ANDROID_STL=c++_static \
-D BUILD_ANDROID_EXAMPLES=OFF \
-D BUILD_ANDROID_PROJECTS=OFF \
-D BUILD_JAVA=OFF \
-D WITH_QT=OFF \
-D ANDROID_ABI=$ARCH \
-D ANDROID_NATIVE_API_LEVEL=$ANDROID_VERSION \
-D CMAKE_BUILD_TYPE=Release \
-D 3P_LIBRARY_OUTPUT_PATH=$ROOT/output/$OUTARCH/lib/ \
-D CMAKE_INSTALL_PREFIX:PATH=$ROOT/output/$OUTARCH/lib/ \
..
cmake.exe -G"MinGW Makefiles"
-DANDROID_SDK_ROOT=C:\DEV\SDK\AndSDK
-DCMAKE_TOOLCHAIN_FILE=C:\DEV\SDK\AndSDK\ndk\26.1.10909125\build\cmake\android.toolchain.cmake
-DCMAKE_MAKE_PROGRAM="C:\DEV\SDK\AndSDK\ndk\26.1.10909125\prebuilt\windows-x86_64\bin\make.exe"
-DBUILD_SHARED_LIBS=ON -DBUILD_FAT_JAVA_LIB=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF
-DANDROID_STL=c++_static -DBUILD_ANDROID_EXAMPLES=OFF
-DBUILD_ANDROID_PROJECTS=OFF -DBUILD_JAVA=OFF -DWITH_QT=OFF ..
cmake.exe --build .
cmake -DBUILD_SHARED_LIBS=OFF ^
-DOPENCV_EXTRA_MODULES_PATH=/home/plamen/Install/OpenCV_install_info/OpenCV/opencv/build/opencv_contrib/modules \
-DUSE_AVX_INSTRUCTIONS=ON -DUSE_SSE4_INSTRUCTIONS=ON \
-DWITH_QT=ON -DWITH_OPENGL=ON -DOpenGL_GL_PREFERENCE=GLVND \
-DWITH_CUDA=ON -DWITH_TESSERACT=ON \
-DWITH_LAPACK=ON -DLAPACKE_INCLUDE_DIR=/home/plamen/Install/OpenCV_install_info/lapack-3.9.0/LAPACKE/include \
-DLAPACK_CBLAS_H=/home/plamen/Install/OpenCV_install_info/lapack-3.9.0/CBLAS/include/cblas.h \
-DLAPACK_LAPACKE_H=/home/plamen/Install/OpenCV_install_info/lapack-3.9.0/LAPACKE/include/lapacke.h \
-DWITH_GSTREAMER=ON -DWITH_EIGEN=ON -DWITH_GTK=ON -DWITH_JASPER=ON -DWITH_FFMPEG=ON \
-DBUILD_EXAMPLES=ON -DINSTALL_C_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON \
-DOPENCV_ENABLE_NONFREE=ON -DINSTALL_TESTS=ON -DINSTALL_PYTHON_SAMPLES=ON -DINSTALL_C_SAMPLES=ON -DOPENCV_FORCE_3RDPARTY_BUILD=ON \
-DPYTHON2_EXECUTABLE=/usr/bin/python2.7 -DPYTHON2_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython2.7.so \
-DPYTHON2_INCLUDE_DIR=/usr/include/python2.7 -DPYTHON2_NUMPY_INCLUDE_DIR=/usr/include/python2.7/numpy \
-DPYTHON2_PACKAGES_PATH=/usr/lib/python2.7/dist-packages \
-DPYTHON3_EXECUTABLE=/usr/bin/python3 -DPYTHON3_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.8.so \
-DPYTHON3_INCLUDE_DIR=/usr/include/python3.8 -DPYTHON3_NUMPY_INCLUDE_DIR=/usr/include/python3.8/numpy \
-DPYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages -DOPENCV_FORCE_PYTHON_LIBS=ON \
-DPYTHON_DEFAULT_EXECUTABLE=$(which python3) -DBUILD_NEW_PYTHON_SUPPORT=ON -DBUILD_opencv_python3=ON -DHAVE_opencv_python3=ON \
-DBUILD_JAVA=ON -DBUILD_opencv_java=ON -DBUILD_opencv_java_bindings_generator=ON -DBUILD_opencv_java_bindings_gen=ON \
-DJAVA_AWT_INCLUDE_PATH=/usr/lib/jvm/jdk-14.0.1/include -DJAVA_AWT_LIBRARY=/usr/lib/jvm/jdk-14.0.1/lib/libjawt.so \
-DJAVA_INCLUDE_PATH=/usr/lib/jvm/jdk-14.0.1/include -DJAVA_INCLUDE_PATH2=/usr/lib/jvm/jdk-14.0.1/include/linux \
-DJAVA_JVM_LIBRARY=/usr/lib/jvm/jdk-14.0.1/lib/server/libjvm.so \
-DBUILD_TESTS=ON -DBUILD_opencv_imgproc=ON -DBUILD_opencv_imgcodecs=ON -DBUILD_opencv_core=ON \
-DOPENCV_GENERATE_PKGCONFIG=ON ..
SET JAVA_HOME=C:\DEV\SDK\JDK\jdk1.8.0_131
cmake.exe -G"MinGW Makefiles" ^
-DBUILD_SHARED_LIBS=OFF ^
-DANDROID_SDK=%AND_HOME% ^
-DBUILD_JAVA=ON -DBUILD_opencv_java=ON -DBUILD_opencv_java_bindings_gen=ON ^
-DJAVA_AWT_INCLUDE_PATH:PATH=%JAVA_HOME%\include ^
-DJAVA_AWT_LIBRARY:FILEPATH=%JAVA_HOME%\include\jawt.h ^
-DJAVA_INCLUDE_PATH:PATH=%JAVA_HOME%\include ^
-DJAVA_INCLUDE_PATH2:PATH=%JAVA_HOME%\include\win32 ^
-DJAVA_JVM_LIBRARY:FILEPATH=%JAVA_HOME%\include\jni.h ^
-DANT_EXECUTABLE:FILEPATH=%ANT_HOME%/bin/ant.bat ^
-DCMAKE_TOOLCHAIN_FILE=%AND_HOME%\ndk\26.1.10909125\build\cmake\android.toolchain.cmake ^
-DCMAKE_MAKE_PROGRAM="C:\DEV\SDK\AndSDK\ndk\26.1.10909125\prebuilt\windows-x86_64\bin\make.exe" ^
..
참고 3. OpenCV 환경 변수
'모바일프로그래밍 > 안드로이드' 카테고리의 다른 글
[Android] 안드로이드 용 OpenCV 빌드하기-3 (0) | 2024.01.24 |
---|---|
[Android] 안드로이드 용 OpenCV 빌드하기-2 (1) | 2024.01.23 |
[Android] OpenCV, 프로그래머 (1) | 2024.01.19 |
[Android]OpenCV 샘플 돌려보기 - 2 (0) | 2024.01.19 |
[Android]OpenCV 샘플 돌려보기 - 1 (0) | 2024.01.18 |