在ubuntu与qtcreator中,如何将.a文件与.so文件存放在工程目录下并进行第三方库的链接

3 篇文章 0 订阅
3 篇文章 0 订阅

目录

背景:

运行环境:

获取第三方库的文件

从Ubuntu系统中获取.so文件与.a文件

1.在"usr/lib/x86_64-linux-gnu"目录找到.so与.a文件

2.libxx.so文件与libxx.so.x.x.x文件的区别与联系 

3.对于2中第四点的示例(链接库时,只能选择.so文件或者.a文件):

链接第三方库步骤:

1.将第三方库的.h文件放入include文件夹

2.将第三方库的.so文件以及.a文件放入libs文件夹。

3.链接库


背景:

由于项目要在不同的计算机(Ubuntu系统)之间进行迁移,项目所依赖的第三方库(包括动态链接库以及静态链接库)在其他的计算机上并不一定存在,因此,打算将第三方库放入项目的工程目录下,在项目链接第三方库时,使用工程目录下的第三方库。


运行环境:

Ubuntu 16.04 LTS,Qt5.10.1,C++


获取第三方库的文件

1.可以从网上找资源下载(官网,论坛等等,建议官网)

2.从ubuntu系统中获取

.a文件与.so文件一般在"usr/lib/x86_64-linux-gnu"目录下。.h文件一般在“usr/include”目录下。

.a文件,是LINUX系统中的静态链接库文件。


从Ubuntu系统中获取.so文件与.a文件

1.在"usr/lib/x86_64-linux-gnu"目录找到.so与.a文件

此处显示在本机libtiff库的.so与.a文件,如下所示

ubuntu系统下的libtiff文件


2.libxx.so文件与libxx.so.x.x.x文件的区别与联系 

目录"usr/lib/x86_64-linux-gnu"中libtiff库相关的有libtiff.so和libtiff.so.5.2.4.这两个文件的区别与联系如下图所示。

libtiff.so与libtiff.so.x.x

1..so或者.so.x.x.x有可能是“共享库”,也有可能是“到共享库的链接”。

2.真正系统中需要的是“共享库”,不需要“到共享库的链接”。

3..so文件与.so.x.x.x文件可以重命名,比如.so.x.x.x可以重名为.so文件。

4.qtcreator中打开项目,链接库时,只能选择.so文件或者.a文件,不能选择.so.x.x.x文件


3.对于2中第四点的示例(链接库时,只能选择.so文件或者.a文件):

1.首先工程目录下的libs目录下的文件如下图所示:

这里的.so.x.x.x都是“共享库”文件。

只有.so.x.x

2.在qtcreator中,项目链接外部库时,出现下图的情况:只有.a文件

删除.so文件

3.将工程目录下的libs目录下的文件中的".so.x.x.x”重命名为".so”(注意:此处的.so.x.x.x为“共享库”类型)

将.so.x.x.x重命名为.so文件

4.在qtcreator中,项目链接外部库时,出现下图的情况:有.a文件和.so文件可以选择进行链接。(注意:因为.so.x.x.x为“共享库”类型,而.so由.so.x.x.x重命名而来,因此此处的.so文件为“共享库”类型)

更改之后


链接第三方库步骤:

1.将第三方库的.h文件放入include文件夹

注意:放入哪个文件夹都无所谓,只要在项目中进行链接时,选择.h文件所在目录即可。但建议放入include文件夹。

项目的include文件夹:

include目录下文件

2.将第三方库的.so文件以及.a文件放入libs文件夹。

注意:放入哪个文件夹都无所谓,只要在项目中进行链接时,选择.h文件所在目录即可。但建议放入libs文件夹。

要确保.so文件是“共享库”文件,或者如果是“到共享库的链接”的话,确保能够链接到某个共享库文件。这里最好是选择使.so文件为“共享库”文件。

项目的libs文件夹:

项目工程目录下的libs目录

3.链接库

在qt creator中打开项目,选择项目->添加库->外部库->库文件,选择libs文件夹路径->包含路径,选择include文件夹路径->确定


 

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值