Arch / Manjaro Linux下 Opencv 编译\ 配置\ 查看

只愿长相守 提交于 2020-05-02 19:50:48

1. 安装

下载OpenCV的安装包,OpenCV官网下载地址 在这里我下载OpenCV4.0的安装包,下载Sources包并解压, 在解压的文件夹里新建一个文件夹用来编译OpenCV:

unzip opencv-4.0.1.zip
cd opencv-4.0.1
mkdir build
cd build

然后在新建的这个文件里运行cmake(OpenCV4默认不生成.pc文件,OPENCV_GENERATE_PKGCONFIG=ON才会生成。):

cmake -DCMAKE_BUILD_TYPE=Release -DOPENCV_GENERATE_PKGCONFIG=ON -DCMAKE_INSTALL_PREFIX=/usr/local ..

编译安装:

make -j8
sudo make install

2. 配置

在/etc/ld.so.conf.d/文件夹下新建一个opencv4.conf,里面写入/usr/local/lib

cd /etc/ld.so.conf.d/
sudo touch opencv4.conf
sudo sh -c 'echo "/usr/local/lib" > opencv4.conf'

更新pkg-config:

sudo ldconfig

复制pc文件,要不然测试提示错误:you should add the directory containing `opencv.pc' :

sudo cp -f /usr/local/lib64/pkgconfig/opencv4.pc  /usr/lib/pkgconfig/

添加环境变量是不用的, 这个是用来在编译时候指定Opencv版本用, 有的教程里有这部分,没必要:

    PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/pkgconfig
    export PKG_CONFIG_PATH

测试:

pkg-config --libs opencv4 
pkg-config --cflags opencv4
pkg-config --modversion opencv4 # 查看版本号

3. 卸载

OpenCV的卸载 删掉opencv4.conf文件,然后在编译的文件夹(我的是release)下运行sudo make uinstall


更新时间: 2019/5/9 09:51

以上是Linux通用的编译方法, 但是对Arch系Linux不需要这么麻烦, 直接用源上编译好的即可: sudo pacman -S opencv 也可以用图形化的工具,最好把可选依赖也装上, 如图:

这样我的系统除了自己编译的3.4.6版本, 还有一个系统滚动跟新的最新版opencv 如果使用的是编译版本, 只需要指定opencv编译位置PATH_TO_BUILD : set(OpenCV_DIR PATH_TO_BUILD),我的CMakeLists.txt是: cmake结果为:

如果使用Arch社区仓库的OPencv4, 可以显式指定opencv版本find_package(OpenCV 4 REQUIRED ) .


参考自:

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!