由于静态库是不需要导出的,所以在写QT的前置声明的时候需要说明
#if defined(QT_SHARED)
#ifdef COMMONLIB
#define COMMONLIB_EXPORT Q_DECL_EXPORT
#else
#define COMMONLIB_EXPORT Q_DECL_IMPORT
#endif
#else
#ifdef COMMONLIB
#define COMMONLIB_EXPORT
#else
#define COMMONLIB_EXPORT
#endif
#endif
QT_SHARED在编译的时候决定是编译静态库还是动态库
详见qglobal.h,1298行(qt4.7.4源码)QTGUI部分的导出说明
原文地址:http://blog.csdn.net/davidsu33/article/details/24617307