问题:moc_CQFlexWindowBase.cpp:-1: error: undefined reference to `Class::function'
未找到文件moc_xxxcpp
解决:父类中定义了虚函数CQWindgetViewBase_SlideL2R,子类声明了该函数但是没有实现。实现后解决问题。
问题:undefined reference to `vtable for xxx'
解决:当派生类基于QObject并且在头文件中加入Q_OBJECT后,就出现了该问题。原因是创建该类的时候,没有选择继承QObject或者Object的Qt派生类,所以Qt没有创建相应的moc_xxx文件。1.删除该类重新创建,并且选择继承QObject,创建完成后将QObject替换为要继承的类。2.移除该类,并且重新添加。问题:定义了QList<QList<QWidget>> *m_pWidget;编译后报出'>>' should be '> >' within a nested template argument list
解决:C++不支持连续的<<或>>符号,所以在>>中间加入空格,解决问题。
问题:'constexpr' needed for in-class initialization of static data member 在类的内部初始化非int和bool类型的静态变量报错
解决:在不能通过的静态变量前加入‘constexpr’声明即可,详见。
问题:在非UI线程中定义一个信号使用了自定义类型的Signal并连接到槽函数,运行过程中提示“Cannot queue arguments of type 'QSerialPort::DataBits'”,槽函数不能被调用。解决:使用qRegisterMetaType<T>("T");函数向元系统注册自定义类型,解决问题。
问题:1.RTTI symbol not found for class 'QThread' 2.QThread: Destroyed while thread is still running分析:在退出程序的时候没有退出相应的线程和线程的循环run。
解决:1.在线程所在类的析构函数中加入run的退出条件 2.依次调用quit();wait();退出线程并且等待线程退出完毕。问题解决
问题:collect2: error: ld returned 1 exit status
解决:在工程的.pro文件中,同一个头文件被添加了多次,删除多余的只保留一个,编译通过。
















