我想使用QApplication
类使用Qt创建一个独立的静态库。
为此,我使用了PIMPL,因为我不想公开任何Qt类。
我的私有(private)实现看起来像这样简单:
class Implementation : public QApplication {
public:
Implementation(int argc, char *argv[]) :
QApplication(argc, argv)
{
}
};
但是,每当我尝试从测试应用程序启动库时,都会出现所有错误:
undefined reference to `QApplication::metaObject() const'
是!确实有道理。我得到这些是因为测试应用程序没有对Qt的
QApplication
类的引用。那么,如何在我的库中使用Qt,尤其是
QApplication
类,又如何在 Plain C++项目中使用它呢? 最佳答案
您的类定义缺少Q_OBJECT
宏和/或您的构建系统未在文件上运行moc
。
此外,愿意在库中使用QApplication
类不是典型的设计模式。是什么让您在这里选择QApplication
?
关于c++ - 如何使用QApplication创建独立的静态库?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15882906/