博客地址已更改,文章数量较多不便批量修改,若想访问源文请到 coologic博客 查阅,网址:www.coologic.cn
如本文记录地址为 techieliang.com/A/B/C/ 请改为 www.coologic.cn/A/B/C/ 即可查阅
版权声明:若无来源注明,Techie亮博客文章均为原创。 转载请以链接形式标明本文标题和地址:
本文标题:Qt动态连接库/静态连接库创建与使用,QLibrary动态加载库 本文地址:https://www.techieliang.com/2017/12/680/
1. 动态连接库创建与使用
1.1. 项目创建
注意选择成shared library
此时新建的项目pro文件:
QT -= gui
TARGET = library
TEMPLATE = lib
DEFINES += LIBRARY_LIBRARY
DEFINES += QT_DEPRECATED_WARNINGS
SOURCES += \
library.cpp
HEADERS += \
library.h
unix {
target.path= /usr/lib
INSTALLS += target
}
注意其Template为lib,且声明了一个LIBRARY_LIBRARY
对于global.h文件建议直接拷贝到library.h,这样发布的时候只需要给别人一个.h文件
library.h
#ifndef LIBRARY_H
#define LIBRARY_H
#include
#if defined(LIBRARY_LIBRARY)
# define LIBRARYSHARED_EXPORT Q_DECL_EXPORT
#else
# define LIBRARYSHARED_EXPORT Q_DECL_IMPORT
#endif
classLIBRARYSHARED_EXPORT Library {
public:
Library();
intsum(inta, intb);
};
intLIBRARYSHARED_EXPORT sum(inta, intb);
#endif // LIBRARY_H
pro声明的宏在这里用上了,做了一个判断,如果有定义则LIBRARYSHARED_EXPORT=Q_DECL_EXPORT