ubuntu查找qt安装的路径_Linux下共享库的系统路径和查找

在使用qvfb做framebuffer模拟的时候,发现几个问题:第一个就是Ubuntu的确不专业,没有很多库的支持,最好使用RedHat,Fedora之类的发行版本,这样会少很多编译之类的麻烦.

由于在Ubuntu下编译qvfb缺少了很多库文件,而在没有网络的情况下,补齐这些库和头文件是非常麻烦的,所以准备在fedora中编译好后再放到Ubuntu中使用.由于Ubuntu和fedora下qtsdk的安装不一致,从而发现fedora下编译好的qvfb放到Ubuntu下执行,发现找不到库.

利用strace工具看一下这个过程,因为是在fedora下编译的,所以makefile中的链接选项有指明链接库的地址-rpath,这个地址就是sdk安装目录下的库目录.

所以在fedora下直接打开这个目录,加载相应的库文件.而在Ubuntu下sdk的安装目录不一致,系统的库搜索路径又没有这个库,所以执行肯定会报错.在Ubuntu下strace下这个过程,就会发现有很多open /usr/lib之类的操作.

man ld,该文档中给出了共享库的系统路径和查找优先级:

The linker uses the following search paths to locate required

shared libraries:

1.  Any directories specified by -rpath-link options.

2.  Any directories specified by -rpath options.  The difference

between -rpath and -rpath-link is that directories specified by

-rpath options are included in the executable and used at

runtime, whereas the -rpath-link option is only effective at

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值