网站定制与模板开发,儿童主题网站的内容建设,wordpress文章页,在线网页制作工具适用于瑞芯微#xff0c;海思#xff0c;酷芯等ARM平台。采用编译脚本配置编译选项#xff0c;方便编译。
目录
一、创建目录
二、工具链配置
三、编译脚本
四、编译 一、创建目录
mikemike-virtual-machine:opencv-4.12/opencv/opencv$ tree . -L 1
.
├── 3rdpart… 适用于瑞芯微海思酷芯等ARM平台。采用编译脚本配置编译选项方便编译。
目录
一、创建目录
二、工具链配置
三、编译脚本
四、编译 一、创建目录
mikemike-virtual-machine:opencv-4.12/opencv/opencv$ tree . -L 1
.
├── 3rdparty
├── apps
├── armlinux.toolchain.cmake
├── build
├── build.sh
├── cmake
├── CMakeLists.txt
├── CONTRIBUTING.md
├── COPYRIGHT
├── data
├── doc
├── include
├── install
├── LICENSE
├── modules
├── platforms
├── README.md
├── samples
└── SECURITY.md11 directories, 8 files
二、工具链配置
armlinux.toolchain.cmake
cmake_minimum_required(VERSION 3.15)if (DEFINED ENV{__ITA_ARM_TOOLCHAIN_HAS_RUN})return()
endif()
set(ENV{__ITA_ARM_TOOLCHAIN_HAS_RUN} true)if (NOT DEFINED CMAKE_SYSTEM_NAME)
set(CMAKE_SYSTEM_NAME Linux)
endif()if (NOT DEFINED CMAKE_SYSTEM_PROCESSOR)set(CMAKE_SYSTEM_PROCESSOR arm)
endif()set(CMAKE_C_COMPILER ${TOOLCHAIN}-gcc)
set(CMAKE_CXX_COMPILER ${TOOLCHAIN}-g)set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
三、编译脚本
build.sh
#!/bin/bashBUILD_TYPERelease
INSTALL_DIRbuild/install
TOOLCHAINarm-linux-gnueabihfcmake .. \-DCMAKE_TOOLCHAIN_FILEarmlinux.toolchain.cmake \-DCMAKE_BUILD_TYPE${BUILD_TYPE} \-DCMAKE_INSTALL_PREFIX${INSTALL_DIR} \-DTOOLCHAIN${TOOLCHAIN} \-DBUILD_opencv_worldON \-DBUILD_TESTSOFF \-DBUILD_EXAMPLESOFF \-DBUILD_ANDROID_EXAMPLESOFF \-DINSTALL_ANDROID_EXAMPLESOFF
四、编译
cd build/
../build.sh
cmake --build . --config Release -- -j16
先用多线程加速编译编译到后半段会报错终止。此时再改成单线程编译即可编译通过。
make install
五、模块裁剪
参考海思平台OpenCV编译与进一步裁剪
极简版cmake cmake ../ \
-DCMAKE_C_COMPILERarm-himix200-linux-gcc \
-DCMAKE_CXX_COMPILERarm-himix200-linux-g \
-DOPENCV_FORCE_3RDPARTY_BUILDON \
-DBUILD_ZLIBON \
-DWITH_GTKOFF \
-DENABLE_NEONOFF \
-DWITH_GTK_2_XOFF \
-DWITH_CUDAOFF \
-DWITH_IPPOFF \
-DWITH_OPENCLOFF \
-DWITH_OPENCLAMDBLASOFF \
-DWITH_QUIRCOFF \
-DWITH_OPENCLAMDFFTOFF \
-DWITH_1394OFF \
-DWITH_FFMPEGOFF \
-DWITH_WEBPOFF \
-DWITH_TIFFOFF \
-DWITH_OPENEXROFF \
-DWITH_PNGOFF \
-DWITH_PROTOBUFOFF \
-DWITH_GSTREAMEROFF \
-DWITH_IMGCODEC_SUNRASTEROFF \
-DBUILD_SHARED_LIBSON \
-DBUILD_opencv_tsOFF \
-DBUILD_opencv_shapeOFF \
-DBUILD_opencv_stitchingOFF \
-DBUILD_opencv_appsOFF \
-DBUILD_opencv_calib3dOFF \
-DBUILD_opencv_dnnOFF \
-DBUILD_opencv_features2dOFF \
-DBUILD_opencv_flannOFF \
-DBUILD_opencv_highguiOFF \
-DBUILD_opencv_mlOFF \
-DBUILD_opencv_objdetectOFF \
-DBUILD_opencv_photoOFF \
-DBUILD_opencv_videoOFF \
-DBUILD_opencv_videoioOFF \
-DBUILD_opencv_videostabOFF \
-DBUILD_opencv_worldON \
-DBUILD_opencv_python2OFF \
-DBUILD_opencv_python3OFF \
-DBUILD_opencv_python_bindings_generatorOFF \
-DBUILD_DOCSOFF\
-DCMAKE_BUILD_TYPERELEASE \
-DCMAKE_INSTALL_PREFIX../output \
-DCMAKE_CXX_FLAGS-s -Os \
-DCMAKE_C_FLAGS-s -Os