1 源码安装
源码安装完,也就是make install以后,include和so都会存到/usr/local目录下,cmake的find_package就可以找到,比如opencv、pangolin、eigen(eigen只有头文件,没有so)
如果不想存到默认目录,可以指定make install的生成路径
cmake -DCMAKE_INSTALL_PREFIX=/your/installation/path ..
2 /usr/bin下面的链接
链接python
ubuntu系统下会安装多个版本的python,如果没有conda环境,容易发生链接混乱
比如找不到rospkg等问题,需要手动链接python
sudo rm python 这个python是个链接
sudo ln -s /usr/bin/python3.8 python
链接gcc g++
gcc g++同样在/usr/bin下面
sudo rm gcc g++ 这个gcc g++是个链接
sudo ln -s gcc-8 gcc
sudo ln -s g++-8 g++
链接cuda
/usr/local下面会存在cuda 以及cuda-11.x
其中cuda就是指向cuda-11.x的链接文件
3 观察文件类型
ll或者ls -l列出文件类型,可以看到python的文件类型,第一个字符为“l”,说明它是一个链接,不是文件。以“-”开头的才是实际文件。
同样gcc g++也是链接,而非文件
4 查看依赖项
ldd 可以查看so或者可执行文件的依赖
比如查看ldd libpng16.so
的依赖项
左侧是依赖的文件,箭头指向所在的位置,后面的数字表示内存地址
5 sudo ldconfig
在安装新的共享库文件(例如OpenCV库)后,需要运行该命令以更新链接器缓存。