[ubuntu] opencv等第三方库编译安装后 动态链接共享库路径配置

以opencv为例进行说明,当opencv在编译安装时,没有将其安装路径选用默认的“/usl/local”而是放在其他路径下,例如“/home/wyj/[install]”时,需要进行动态链接共享库路径配置

linux的默认的共享库的搜索路径是:/lib和 /usr/lib,这两个文件夹,不包含子路径;

如果共享库不在这两个路径中的话,不能自动链接,

即使codeblock等编译器中将链接器的选项中添加两 动态链接共享库的路径,该工程也不能够找到其所在的路径。

解决的办法有几种:

1、编译程序使用静态链接,加上完整路径,不建议了;

2、修改LD_LIBRARY_PATH环境变量(临时有效,且有时候没有效果);

3、将.so文件复制到可以搜索的路径中,这个办法有点傻;(复制到系统的默认搜索路径,即/lib和 /usr/lib中)

4、添加搜索路径,使用ldconfig命令,建议如此;[选用此法]


如何添加搜索路径:

  • cd至搜索路径文件目录,如下命令:
cd /etc/ld.so.conf.d/ 
  • 创建自己的第三方库的搜索路径设置文件,如opencv.conf
sudo gedit opencv.conf

    在该文件中写入第三方库所在的路径,例如“/home/wyj/[install]/lib”,保存关闭。

  • 执行如下命令,使得设置生效:
sudo ldconfig

 



参考:https://blog.csdn.net/sloanqin/article/details/51506277  
 

你可能感兴趣的:(开发中遇到的问题)