这几天在写程序中时候,用到了一个第三方库。在下载完他的源码编译后,不知道怎么使用,后来在网上找了找了一些资料查看了一些文档。终于解决了问题!
动态库和静态库的介绍在在前的博客: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下一样的使用。都是添加头文件,然后调用库的东西。