编译opencv: Linux编译opencv
opencv官网:https://opencv.org/releases/
github下载地址:https://github.com/opencv/opencv/releases
mkdir build mkdir opencvbuild # 不编译java,不编译Python,指定安装位置 cd build cmake .. -D BUILD_JAVA=OFF -D BUILD_PYTHON=OFF -D CMAKE_INSTALL_PREFIX=pwd/opencvbuild make -j4 make install
# 编译静态库
cmake .. -D WITH_GTK=OFF -D CMAKE_BUILD_TYPE=RELEASE -D BUILD_SHARED_LIBS=OFF -D BUILD_JAVA=OFF -D BUILD_PYTHON=OFF -D BUILD_TESTS=OFF -D BUILD_opencv_world=ON -D CMAKE_INSTALL_PREFIX=pwd/opencvbuild
# cmake 编译参数 -D WITH_GTK=OFF # 不编译GTK,GUI显示,imshow -D WITH_FFMPEG=OFF # 不编译ffmpeg -D CMAKE_BUILD_TYPE=RELEASE # 编译 release 版本 -D BUILD_SHARED_LIBS=OFF # OFF:编译静态库,ON:编译动态库,默认动态库 -D BUILD_JAVA=OFF # 不编译java -D BUILD_opencv_python3=OFF # 不编译python -D BUILD_TESTS=OFF # 不编译test库,相信OpenCV,不需要测试,可以减少很多编译时间 -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_video=OFF -D BUILD_opencv_videostab=OFF -D BUILD_OPENEXR=ON # 编译出[ libIlmImf ] -D BUILD_opencv_world=ON # 编译成 opencv_world -D CMAKE_INSTALL_PREFIX=pwd/opencvbuild # 设置安装位置
报错问题处理:
问题:代码调用 imread,编译时报错:对‘cv::imread(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)’未定义的引用 原因:新版本的opencv把读取图片从 libopencv_highgui 中剥离出来了,多个一个so库 libopencv_imgcodecs 解决:在编译时,多链接一个库 libopencv_imgcodecs