slam十四讲-ubuntu20按照opencv3.4.16
slam十四讲-ubuntu20安装opencv3.4.16
最近一直在学习十四讲,由于电脑太新装不了ubuntu18,在20上安装opencv遇到了好多问题,写个博客记录一下也分享给大家,以及还有一些问题看看大家有没有解决。
opencv 下载
opencv官网下载安装包,我是用源码编译安装的。下载下来之后放到你找的的地方解压。我是放在/slambook2/3rparty/ 里边了,也方便和别的库一起管理。下载下来之后直接解压
unzip opencv-3.4.16
需要安装cmake,如果没有就安装一下 sudo apt-get install cmake
依赖库的安装
sudo apt-get install build-essential libgtk2.0-dev libvtk6-dev libjepg-dev libtiff5-dev libopenexr-dev libtbb-dev
其中需要注意的是在ubuntu20,apt-get中libvtk是只支持6 和7的,libtiff也是支持5不支持4的。以及我是没办法安装libjasper-dev这个库的。但是最后也没有影响编译,如果大家有好办法,评论说一下哈哈哈。
编译安装
进入解压缩的安装目录
cd opencv-3.4.16
mkdir build
cmake ..
make -j4
sudo make install
遇到的问题
首先就是各个版本库不同的问题,而且libjasper-dev这个库我在ubuntu20上安不好,我看了网上的解决方法也没有效果
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
sudo add-apt-repository "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe"
sudo apt update
sudo apt install libjasper1 libjasper-dev
这是网上的办法,我试了也没用。 最后一个是c++11的问题 在调试slam14讲ch5的时候,在ch5的CMakeLists.txt里把这句注释掉
#添加c++ 11标准支持
set(CMAKE_CXX_FLAGS "-std=c++11 -O2")
然后编译就成功了。
|