opencv官网
2.编译- 路径切入源码目录
- 执行命令:
cmake -DOPENCV_GENERATE_PKGCONFIG=YES - DCMAKE_INSTALL_PREFIX=/home/lx/opencv/install .. make make install
注意:- 1).-DOPENCV_GENERATE_PKGConFIG=YES选项是编译生成opencv4.pc这个文件用于pkg-config程序管理已安装库的头文件和库文件,编译结束opencv4.pc文件一般在opencv/install/lib/pkgconfig/opencv4.pc目录;
- 2).DCMAKE_INSTALL_PREFIX指定make install时的安装目录。
- 1.安装
sudo apt install pkg-config
- 2.设置环境变量PKG_CONFIG_PATH
export PKG_CONFIG_PATH=/home/lx/sw/opencv/install/lib/pkgconfig:$PKG_CONFIG_PATH
- 3.查看头文件和库文件目录
# *.so directories pkg-config --libs opencv4 # *.h directories pkg-config --cflags opencv44.使用CMAKE和GCC编译OpenCV程序
- 1).CMakeList.txt文件
cmake_minimum_required(VERSION 2.8) project( DisplayImage ) find_package( OpenCV REQUIRED ) include_directories( ${OpenCV_INCLUDE_DIRS} )find_package有Module和Config两种模式,Module模式,cmake需要在cmake安装目录下的share/cmake-/Modules目录和CMAKE_MODULE_PATH目录查找Find .cmake,这个文件负责找到库所在的路径。若Module模式搜索失败,会启用Config模式,通过 Config.cmake或 -config.cmake这两个文件来引入我们需要的库。对于原生支持Cmake编译和安装的库通常会安装Config模式的配置文件到对应目录,这个配置文件直接配置了头文件库文件的路径以及各种cmake变量供find_package使用。对于OpenCV在opencv/build目录下,可以看到OpenCVConfig.cmake文件。 - 2).若find_package找不到安装的opencv
可通过set(OpenCV_DIR /path)来指定。set(OpenCV_DIR /home/lx/rob/opencv-3.4.10/build) find_package( OpenCV 3 REQUIRED ) INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})
- 1)error while loading shared libraries: libopencv_highgui.so.4.4: cannot open shared object file: No such file or directory
解决方法:set LD_LIBRARY_ATH as pkg-config --libs opencv4 export LD_LIBRARY_ATH="/home/lx/sw/opencv/install/lib:$LD_LIBRARY_ATH" sudo ldconfig
参考:
1.https://zhuanlan.zhihu.com/p/97369704
2.https://docs.opencv.org/4.5.4/d7/d9f/tutorial_linux_install.html



