opencv编译为aarch适配架构动态库
【代码】opencv编译为aarch适配架构动态库。
官方下载对应包
opencv: Release OpenCV 4.4.0 · opencv/opencv · GitHub
opencv_contrib: https://github.com/opencv/opencv_contrib/releases/tag/4.4.0
1. 创建 toolchain 文件
mkdir -p ~/work/elf_xhf/opencv_build cat > ~/work/elf_xhf/opencv_build/rk3588_toolchain.cmake <<'EOF' set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_PROCESSOR aarch64) set(TOOLCHAIN_ROOT /home/elf/aarch64-buildroot-linux-gnu_sdk-buildroot) set(CMAKE_SYSROOT ${TOOLCHAIN_ROOT}/aarch64-buildroot-linux-gnu/sysroot) set(CMAKE_C_COMPILER ${TOOLCHAIN_ROOT}/bin/aarch64-buildroot-linux-gnu-gcc) set(CMAKE_CXX_COMPILER ${TOOLCHAIN_ROOT}/bin/aarch64-buildroot-linux-gnu-g++) set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT}) set(CMAKE_C_FLAGS "--sysroot=${CMAKE_SYSROOT}") set(CMAKE_CXX_FLAGS "--sysroot=${CMAKE_SYSROOT}") set(CMAKE_EXE_LINKER_FLAGS "--sysroot=${CMAKE_SYSROOT}") set(CMAKE_SHARED_LINKER_FLAGS "--sysroot=${CMAKE_SYSROOT}") set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) EOF
2. 创建构建目录
mkdir -p ~/work/elf_xhf/opencv_build/build_opencv_440 cd ~/work/elf_xhf/opencv_build/build_opencv_440
3. 跑 CMake 配置
cmake ~/work/elf_xhf/opencv-4.4.0 \ -DCMAKE_TOOLCHAIN_FILE=../rk3588_toolchain.cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/home/elf/work/elf_xhf/opencv_install_440_aarch64 \ -DOPENCV_EXTRA_MODULES_PATH=/home/elf/work/elf_xhf/opencv_contrib-4.4.0/modules \ -DBUILD_SHARED_LIBS=ON \ -DBUILD_TESTS=OFF \ -DBUILD_PERF_TESTS=OFF \ -DBUILD_EXAMPLES=OFF \ -DBUILD_opencv_apps=OFF \ -DBUILD_opencv_python=OFF \ -DBUILD_opencv_python2=OFF \ -DBUILD_opencv_python3=OFF \ -DBUILD_opencv_java=OFF \ -DBUILD_JAVA=OFF \ -DWITH_GTK=OFF \ -DWITH_GTK_2_X=OFF \ -DWITH_QT=OFF \ -DWITH_OPENGL=OFF \ -DWITH_IPP=OFF \ -DWITH_TBB=OFF \ -DWITH_FFMPEG=OFF \ -DWITH_GSTREAMER=OFF \ -DBUILD_LIST=core,imgproc,imgcodecs,highgui
4. 编译并安装
make -j2 make install
5. 检查安装结果
find /home/elf/work/elf_xhf/opencv_install_440_aarch64 -name "OpenCVConfig.cmake" find /home/elf/work/elf_xhf/opencv_install_440_aarch64 -name "libopencv_core.so*" find /home/elf/work/elf_xhf/opencv_install_440_aarch64 -name "opencv2"
更多推荐
所有评论(0)