因为静态库是不须要导出的。所以在写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部分的导出说明