Qt程序中动态库的隐式调用

28 篇文章 2 订阅

        这几天在写程序中时候,用到了一个第三方库。在下载完他的源码编译后,不知道怎么使用,后来在网上找了找了一些资料查看了一些文档。终于解决了问题!

        动态库和静态库的介绍在在前的博客:http://blog.csdn.net/andy_93/article/details/52708678 已经介绍过。       现在具体讲讲Windows下和Liux下的使用

首先是windows下的使用:
准备库:
我们在编译完库的时候或者是使用库的时候需要有三样东西:XXX.lib、XXX.dll、include文件夹包括库的头文件

在这里需要说明的是,有的库的dll和lib是区分Debug和Release版本的。所以根据不同的版本对应不同的库。

修改pro文件:

<pre name="code" class="cpp">	我们假设我们的lib、include、bin三个文件夹在同一级目录
	lib:库文件夹, 存放XXX.dll 和XXX.lib, 如果我们要区分Debug和Release版本的库,建议lib文件夹下建             立Debug和Release文件夹放各自的库文件
	include: 库头文件文件夹 
	bin:     可执行文件夹
win32{
	INCLUDEPATH += ./../include                    //包含库头文件
	Release:QMAKE_LIBDIR = ./../lib/Release    //库路径
	Release:LIBS +=  -lXXX\			  //使用到的库
			     -lXXX
	Debug:QMAKE_LIBDIR = ./../lib/Debug		
	Debug:LIBS  += 	-lXXX\
			    -lXXX	
}
 
以上的XXX是库的名字,去掉后缀,如QMyDialog.dll 直接-lQMyDialog就行了。 
注意:我们在LIBS +=的时候之所以没有用-L 
来指明库的路径 是因为我们的QMAKE_LIBDIR已经指明了路径。使用库: 
      在需要使用库的文件中添加头文件#include“XXX.h” 然后调用库的方法即可使用。执行: 
      在执行可执行文件之前,将用到的库XXX.dll拷贝到bin目录下,与可执行文件放到同一级目录即可运行。Linux下的使用: 
 

Linux下的使用和Windows下的使用大同小异,只是在准备库的时候Linux下生成的是libXXX.so库文件,不需要XXX.lib然后其他的就和Windows下一样了。

修改pro文件:
unix{
    QMAKE_LIBDIR = ./../lib
     LIBS += -lXXX \
                    -lXXX
}

使用和执行和windows下一样的使用。都是添加头文件,然后调用库的东西。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值