本文共 2432 字,大约阅读时间需要 8 分钟。
sudo apt-get install cmake # 安装cmakesudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff5.dev libswscale-dev libjasper-dev
cd ~/Downloads/opencv-3.4.6mkdir buildcd build #切换目录然后cmake指定安装路径cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j16出现下面的错误: /usr/bin/ld: warning: libzstd.so.1.3.7, needed by //home/a401/anaconda3/lib/libtiff.so.5, not found (try using -rpath or -rpath-link) //home/a401/anaconda3/lib/libtiff.so.5: undefined reference to
ZSTD_freeCStream' //home/a401/anaconda3/lib/libtiff.so.5: undefined reference to
ZSTD_maxCLevel’ //home/a401/anaconda3/lib/libtiff.so.5: undefined reference to ZSTD_getErrorName' //home/a401/anaconda3/lib/libtiff.so.5: undefined reference to
ZSTD_createDStream’ //home/a401/anaconda3/lib/libtiff.so.5: undefined reference to ZSTD_freeDStream' //home/a401/anaconda3/lib/libtiff.so.5: undefined reference to
ZSTD_compressStream’ //home/a401/anaconda3/lib/libtiff.so.5: undefined reference to ZSTD_decompressStream' //home/a401/anaconda3/lib/libtiff.so.5: undefined reference to
ZSTD_initCStream’ //home/a401/anaconda3/lib/libtiff.so.5: undefined reference to ZSTD_createCStream' //home/a401/anaconda3/lib/libtiff.so.5: undefined reference to
ZSTD_isError’ //home/a401/anaconda3/lib/libtiff.so.5: undefined reference to ZSTD_endStream' //home/a401/anaconda3/lib/libtiff.so.5: undefined reference to
ZSTD_initDStream’ collect2: error: ld returned 1 exit status apps/visualisation/CMakeFiles/opencv_visualisation.dir/build.make:101: recipe for target ‘bin/opencv_visualisation’ failed make[2]: *** [bin/opencv_visualisation] Error 1 CMakeFiles/Makefile2:7846: recipe for target ‘apps/visualisation/CMakeFiles/opencv_visualisation.dir/all’ failed make[1]: *** [apps/visualisation/CMakeFiles/opencv_visualisation.dir/all] Error 2 如果出现错误,把anaconda的环境变量去掉就可以了
删除build下面的所有文件 还有/usr/local/lib 下面的libopencvxxx文件。 重新cmake 和make -j16就可以cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..make -j16编译完后, 进行make install 安装,这里必须sudo 提权不然会失败。 如果没有出现上面的错误,跳过上面的步骤,直接进行下面make install
sudo make install
echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARYPATH' >> ~/.bashrc# 下面的是单引号,具体原因自行百度。echo 'export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig' >> ~/.bashrcsource ~/.bashrc
到这里就大功告成了。
转载地址:http://qdzvi.baihongyu.com/