我想使用该类创建一个带有Qt的独立静态库。QApplication
为此,我使用PIMPL,因为我不想公开任何Qt类。
我的私有实现看起来就像这样简单:
class Implementation : public QApplication {
public:
Implementation(int argc, char *argv[]) :
QApplication(argc, argv)
{
}
};
但是每当我尝试从我的测试应用程序启动库时,我都会收到所有错误:
undefined reference to `QApplication::metaObject() const'
是的!这确实有道理。我得到这些是因为测试应用程序没有对Qt类的任何引用QApplication
。
那么如何使用Qt,特别是QApplication
我的库中的类,并且仍然能够在普通 C++ 项目中使用它?