一些使用频率高的指令及库版本安装切换

本文详细介绍了如何查询和管理OpenCV、Eigen的版本,包括安装、配置、版本切换以及库文件的位置和管理。重点讲解了多版本共存时的CMake配置方法和库文件路径设置技巧。
摘要由CSDN通过智能技术生成

查看Eigen版本:pkg-config --modversion eigen3

或vim /usr/include/eigen3/Eigen/src/Core/util/Macros.h

查看OpenCV版本:pkg-config --modversion opencv

或打开home下安装ceres-solver的文件夹,然后打开ceres-solver的package.xml文件,在里面可以看到版本号

PCL版本号查询:sudo apt-get install libpcl-dev

查看本机线程数:grep 'processor' /proc/cpuinfo | sort -u | wc -l

--------------------------------------------------------------------------------------------------------------------

1、查找OpenCV的位置sudo find / -iname "*opencv*"

安装位置:usr/include

CMAKE_INSTALL_PREFIX 是opencv的安装地址 默认安装在 usr/local

2、(1)什么是库

简单说,库就是一些头文件与库文件(可能包括静态库与动态库两种)的集合。

库文件通过头文件向外导出接口,头文件中有函数的声明,库文件中是对应的实现。

(2)位置

①安装的第三方软件

/usr/bin                             可执行文件

/usr/lib                              可执行文件的库文件

/usr/include                     可执行文件的头文件

②安装的第三方库

/usr/local/bin                   安装的库的一些测试程序

/usr/local/lib                    安装的库的库文件

/usr/local/include            安装的库的头文件

自己安装两个opencv

假设我们已经安装好一版OpenCV,一般都安装在/usr/local下。
如果需要安装另一个版本的OpenCV,就不能再安装到/usr/local,而是选择其他路径,否则会覆盖掉之前的版本。

一、 安装

step-1$ cd  ***/opencv-3.3.1 //opencv-3.3.1的解压目录下

step-2$ mkdir build

step-3$ cmake -D CMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/OpenCV3.3.1 .. //注释,这里的.. 不要忘记

step-4$ make -j8

step-5sudo make install

二、配置OpenCV环境

step-1:sudo gedit ~/.bashrc

step-2:记下来,在上述打开的文件末尾,加上如下:#OpenCV_4.2.0

                 export PKG_CONFIG_PATH=/usr/local/OpenCV3.3.1/lib/pkgconfig

                 export LD_LIBRARY_PATH=/usr/local/OpenCV3.3.1/lib

step-3:$ source ~/.bashrc更新下

三、查询OpenCV版本

$ pkg-config --modversion opencv

如果输出3.3.1,就表明配置成功。
如果想使用之前的版本,在sudo gedit ~/.bashrc中注释掉增加的内容,然后source ~/.bashrc即可。

在OpenCV编译好后,所在目录中会生成OpenCVConfig.cmake文件,这个文件中指定了CMake要去哪里找OpenCV,其.h文件在哪里等。

存在多版本OpenCV时,需要找到所需版本对应的OpenCVConfig.cmake文件,并将其路径添加到工程的CMakeLists.txt中。

    cmake_minimum_required(VERSION 2.8) 

    set(OpenCV_DIR /usr/local/opencv_3.3.1/share/OpenCV)

    project(test)   

    find_package(OpenCV_DIR REQUIRED)

    message("OpenCV version  is : ${OpenCV_VERSION}")

 在set的时候,一定要设置OpenCVConfig-version.cmake所在的位置

                        一定要设置OpenCVConfig-version.cmake所在的位置

                        一定要设置OpenCVConfig-version.cmake所在的位置

电脑自带的OpenCV3.2OpenCVConfig.cmake原来的位置:

新安装OpenCV3.3.1OpenCVConfig.cmake所在位置:

Eigen卸载:

1、删除系统自带的eigen

ubuntu 卸载安装eigen3-CSDN博客

2、删除自己下载的eigen


sudo mv /usr/include/eigen339

sudo mv /usr/local/share/eigen3

sudo mv /usr/local/share/pkgconfig/eigen3.pc

总之就是看见eigen就删了

Eigen下载指定版本:

1、从这里下载不同版本的eigen库:    Releases · libeigen / eigen · GitLab

2、进入解压出来的文件夹,打开终端,依次执行如下命令进行编译和安装即可:

        mkdir build

        cd build

        cmake -DCMAKE_INSTALL_PREFIX=~/eigen_output ..

        sudo make install

这样会在~/eigen_output文件下生成eigen3库,进去后应该是长这样的:

   注:这里的eigen_output文件是临时存放库文件用的,后续操作完成后可以自行删除


进入include文件夹,执行以下命令:

sudo mv eigen3 /usr/include/eigen339

        这里的文件名eigen339可以根据自己的需要来命名,为了方便可以按版本号命名。

若使用源码安装eigen3.3.1:

网上的教程eigen安装直接使用cmake ..,头文件安装在/usr/local/include/eigen3,将这个eigen3文件移动到/usr/include下,与前面安装的eigen339放在一起,做版本切换。

这样/usr/include目录下就存在两个版本的eigen,一个是以eigen3命名的系统版本,另外一个是以eigen339命名通过编译源码的形式安装的自选指定版本。

3、版本切换

ubuntu系统是通过eigen3.pc这个文件搜索eigen库的,上述两种方式安装都会生成一个eigen3.pc文件。

通过apt-get安装的存放在/usr/share/pkgconfig文件夹下

通过源码安装的就存放在安装目录的share/pkgconfig文件夹下

两个文件的对比如下:

最终只需要保留一个即可,这里还是选择保留/usr/share/pkgconfig下的pc文件。

但需要对该文件进行修改,由于我们的eigen3放在了/usr/include下,因此第一行不用改,保持prefix=/usr即可,需要修改Version,用哪个版本就改成哪个版本号,如上图左边所示,另一个版本用//注释掉即可,修改完保存退出。

接下来回到/usr/include下,执行以下命令:

sudo mv eigen3 eigen331  //将现在的eigen3重命名为eigen331

sudo mv eigen339 eigen3  //将eigen339设置为要使用的eigen3

这样就通过重命名的方式改变系统查找文件时的指向,进而完成了版本切换的工作。

参考:https://blog.csdn.net/shy2333/article/details/125036983?spm=1001.2101.3001.6650.9&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-9-125036983-blog-127007082.235%5Ev38%5Epc_relevant_anti_vip&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-9-125036983-blog-127007082.235%5Ev38%5Epc_relevant_anti_vip&utm_relevant_index=10

https://blog.csdn.net/weixin_41756645/article/details/129570141?spm=1001.2101.3001.6650.15&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-15-129570141-blog-125036983.235%5Ev38%5Epc_relevant_anti_vip&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-15-129570141-blog-125036983.235%5Ev38%5Epc_relevant_anti_vip&utm_relevant_index=23

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值