本文针对的环境是树莓派,且操作系统为ubuntu desktop 23.10。
首先安装编译环境:gcc、g++、gdb(调试器),安装命令如下:
sudo apt install build-essential gdb
接下来安装安装clang(编译器)、llvm(编译器)、lldb(调试器),安装命令如下:
sudo apt install clang llvm lldb
再安装cmake编译工具以及树莓派摄像头驱动库:
sudo apt-get install cmake libcanberra-gtk-module
最后,为了能方便我们在树莓派上编写和编译C++代码,推荐在树莓派上安装Qt。安装命令如下:
sudo apt-get install qtbase5-dev qtbase5-dev-tools qtchooser qt5-qmake qtcreator qtbase5-examples qtbase5-doc-html
安装完成后,在树莓派的搜索菜单中找到Qt Creator,这个就是Qt对应的IDE了,我们可以使用它来方便的进行C++代码的编写。
首先安装一些编译OpenCV所依赖的工具:
sudo apt-get install libgtk2.0-dev pkg-config libswscale-dev libjpeg-dev libpng-dev libtiff-dev
接下来我们从OpenCV官网下载OpenCV3.4.14的Sources源码到树莓派上,下载网址:https://opencv.org/releases/。
解压缩以后进入opencv-3.4.14目录,按照下述命令进行编译:
mkdir build
cd build
cmake ..
sudo make
sudo make install
上述编译过程需要数小时才能完成。
由于最新的树莓派Ubuntu 23.10操作系统默认安装的gcc和g++编译工具版本较高,在编译过程中可能会出现下述错误:
error: comparing the result of pointer addition '(src + ((sizetype)off))' and NULL [-Werror=address]
这个问题的解决方案是找到“./build/modules/”路径下出错模型对应的“flags.make”文件,使用文本编辑器打开,
删除其中的“ -Werror=address”这些字符,然后进行保存。再次运行sudo make
编译即可。