Ubuntu18上交叉编译树莓派3B+ opencv4.10 (非常详细) 第一章-交叉编译

1、安装交叉编译器

在电脑上创建工作文件夹。

mkdir ~/raspi
cd ~/raspi
在linaro上下载交叉编译工具链,包括gcc、runtime、sysroot三项:

https://releases.linaro.org/components/toolchain/binaries/6.3-2017.05/arm-linux-gnueabihf/

下载后解压并合并,放在~/raspi/cross-compile-tool/目录下

Ubuntu18上交叉编译树莓派3B+ opencv4.10 (非常详细) 第一章-交叉编译_第1张图片

如果电脑上没有C/C++编译环境,执行:

sudo apt-get install build-essential
如果是openSUSE,执行:

sudo zypper install -t pattern devel_basis
使64位系统兼容32位的库:

sudo apt install lib32ncurses5 lib32z1

 

 

 

2、解压opencv-4.10源码

Ubuntu18上交叉编译树莓派3B+ opencv4.10 (非常详细) 第一章-交叉编译_第2张图片

3、cd opencv-4.10,创建 release和install文件夹

mkdir release

mkdir install

Ubuntu18上交叉编译树莓派3B+ opencv4.10 (非常详细) 第一章-交叉编译_第3张图片

4、安装和运行cmake-gui

 

sudo apt-get install cmake

sudo apt-get install cmake-qt-gui

运行cmake-gui

 

5、配置cmake

选好源码目录

选好编译目录

单击Configure

Ubuntu18上交叉编译树莓派3B+ opencv4.10 (非常详细) 第一章-交叉编译_第4张图片

自定义交叉编译选项

Ubuntu18上交叉编译树莓派3B+ opencv4.10 (非常详细) 第一章-交叉编译_第5张图片

注意Operating System里填Linux

Processor填arm

Compilers填树莓派交叉编译的gcc和g++

Target root: 注意填的交叉编译根目录

Ubuntu18上交叉编译树莓派3B+ opencv4.10 (非常详细) 第一章-交叉编译_第6张图片

勾选BUILD_JPEG、BUILD_PNG

Ubuntu18上交叉编译树莓派3B+ opencv4.10 (非常详细) 第一章-交叉编译_第7张图片MAKE_BUILD_TYPE 输入Release

MAKE_INSTALL_PREFIX 选择你想要安装的目录,这里是源码下刚才创建的install目录

Ubuntu18上交叉编译树莓派3B+ opencv4.10 (非常详细) 第一章-交叉编译_第8张图片

单击Configure,接着单击Generate

Ubuntu18上交叉编译树莓派3B+ opencv4.10 (非常详细) 第一章-交叉编译_第9张图片

 

如果配置没问题,就会出现Configuring done和Generating done,但是如果这时候你cd 到release目录去make是有问题的

还需要改下CmakeCache.txt

Ubuntu18上交叉编译树莓派3B+ opencv4.10 (非常详细) 第一章-交叉编译_第10张图片

找到CMAKE_EXE_LINKER_FLAGS:STRING=  ,  加上-pthread -ldl -lrt

CMAKE_EXE_LINKER_FLAGS:STRING=-pthread -ldl -lrt

Ubuntu18上交叉编译树莓派3B+ opencv4.10 (非常详细) 第一章-交叉编译_第11张图片

 

重新加载、配置、生成

Ubuntu18上交叉编译树莓派3B+ opencv4.10 (非常详细) 第一章-交叉编译_第12张图片

Ubuntu18上交叉编译树莓派3B+ opencv4.10 (非常详细) 第一章-交叉编译_第13张图片

在release目录下,-j4会编译得更快,如果你有八核,就开-j8

sudo make -j4

Ubuntu18上交叉编译树莓派3B+ opencv4.10 (非常详细) 第一章-交叉编译_第14张图片

Ubuntu18上交叉编译树莓派3B+ opencv4.10 (非常详细) 第一章-交叉编译_第15张图片

Ubuntu18上交叉编译树莓派3B+ opencv4.10 (非常详细) 第一章-交叉编译_第16张图片

编译成功后

sudo make install

Ubuntu18上交叉编译树莓派3B+ opencv4.10 (非常详细) 第一章-交叉编译_第17张图片

Ubuntu18上交叉编译树莓派3B+ opencv4.10 (非常详细) 第一章-交叉编译_第18张图片

进入install目录可以看到

Ubuntu18上交叉编译树莓派3B+ opencv4.10 (非常详细) 第一章-交叉编译_第19张图片

进入lib可以看到opencv动态库已交叉编译成功

Ubuntu18上交叉编译树莓派3B+ opencv4.10 (非常详细) 第一章-交叉编译_第20张图片

你可能感兴趣的:(OpenCV,树莓派3B+)