cmake命令交叉编译opencv

1.安装交叉编译工具gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu。

2.解压opencv库,在目录中新建build

3.进入build目录,打开终端,输入命令:

cmake ../   -D CMAKE_BUILD_TYPE=RELEASE -DBUILD_opencv_core=ON -DBUILD_opencv_imgcodecs=ON -DBUILD_opencv_highgui=ON -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_opencv_apps=OFF -D WITH_GSTREAMER=ON -D WITH_GTK_2_X=ON -D WITH_GTHREAD=ON -D WITH_TBB=ON -D WITH_OPENGL=ON -D BUILD_opencv_python3=ON -D PYTHON3_EXECUTABLE=$(which python3) -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.8/dist-packages/numpy/core/include/ -D BUILD_opencv_python_bindings_generator=ON -D PYTHON3_PACKAGES_PATH=/usr/lib/python3.8/dist-packages

其中,只编译部分模块,使用参数-DBUILD_opencv_core=ON

设置交叉编译链-D CMAKE_TOOLCHAIN_FILE=/media/KAS-300/dd1/opencv-4.5.2/platforms/linux/aarch64-gnu.toolchain.cmake

设置交叉编译器CMAKE_C_COMPILER=/home/KAS-300/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc -D CMAKE_CXX_COMPILER=/home/KAS-300/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++  -D CMAKE_AR=/home/KAS-300/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-ar

5.使用make;make install

在编译 OpenCV 时,如果遇到 ADE: Download: v0.1.1d.zip 下载失败的问题,下载

https://github.com/opencv/ade/archive/refs/tags/v0.1.1d.zip,放到~/.cache/opencv目录

6.opencv-4.0.0只编译图片加载等功能命令

cmake -D CMAKE_BUILD_TYPE=Release -D BUILD_opencv_imgcodecs=ON -D BUILD_opencv_core=ON -D BUILD_opencv_imgproc=ON -D BUILD_opencv_highgui=OFF -D BUILD_opencv_videoio=OFF -D BUILD_opencv_dnn=OFF -D BUILD_opencv_gapi=OFF -D BUILD_opencv_calib3d=OFF -D BUILD_opencv_features2d=OFF -D BUILD_opencv_flann=OFF -D BUILD_opencv_ml=OFF -D BUILD_opencv_objdetect=OFF -D BUILD_opencv_photo=OFF -D BUILD_opencv_stitching=OFF -D BUILD_opencv_superres=OFF -D BUILD_opencv_videostab=OFF -D BUILD_opencv_python2=OFF -D BUILD_opencv_python3=OFF ..

回显中会有编译的模块

CMake是一个跨平台的自动化构建工具,可以帮助我们更方便地管理和构建项目。下面是使用CMake进行交叉编译OpenCV的步骤: 1. 安装交叉编译工具链 首先需要安装交叉编译工具链,这里以ARM架构为例,可以通过命令行安装: ``` sudo apt-get install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf ``` 2. 下载OpenCV源码 从OpenCV官网下载源码:https://opencv.org/releases/,选择一个版本进行下载并解压。 3. 创建交叉编译工具链文件 在OpenCV源码目录下创建一个名为toolchain-arm-linux-gnueabihf.cmake的文件,文件内容如下: ``` set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_PROCESSOR arm) set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc) set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++) set(CMAKE_FIND_ROOT_PATH /usr/arm-linux-gnueabihf) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) ``` 其中,CMAKE_C_COMPILER和CMAKE_CXX_COMPILER是交叉编译器的路径,CMAKE_FIND_ROOT_PATH是交叉编译时需要查找的库文件路径。 4. 创建build目录并进入 ``` mkdir build && cd build ``` 5. 运行CMake命令 ``` cmake -DCMAKE_TOOLCHAIN_FILE=../toolchain-arm-linux-gnueabihf.cmake -DCMAKE_INSTALL_PREFIX=/usr/arm-linux-gnueabihf .. ``` 其中,-DCMAKE_TOOLCHAIN_FILE指定交叉编译工具链文件的路径,-DCMAKE_INSTALL_PREFIX指定安装路径。 6. 运行make命令进行编译 ``` make ``` 7. 运行make install命令进行安装 ``` make install ``` 8. 将生成的库文件和头文件复制到目标系统中 将编译生成的库文件和头文件复制到目标系统中,供应用程序使用。 至此,使用CMake进行OpenCV交叉编译的步骤就完成了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值