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

来源:互联网 发布:遥感数据的特点 编辑:程序博客网 时间:2024/05/22 13:21

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

        动态库和静态库的介绍在在前的博客: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\  //使用到的库     -lXXXDebug:QMAKE_LIBDIR = ./../lib/DebugDebug: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 0
原创粉丝点击