Qt编译错误
2017-06-26 17:26
477 查看
问题:moc_CQFlexWindowBase.cpp:-1: error: undefined reference to `Class::function'
未找到文件moc_xxxcpp
解决:父类中定义了虚函数CQWindgetViewBase_SlideL2R,子类声明了该函数但是没有实现。实现后解决问题。
问题:undefined reference to `vtable for xxx'
问题:定义了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’声明即可,详见http://www.cnblogs.com/wanyuanchun/p/4041080.html。
分析:在退出程序的时候没有退出相应的线程和线程的循环run。
解决:1.在线程所在类的析构函数中加入run的退出条件 2.依次调用quit();wait();退出线程并且等待线程退出完毕。问题解决
问题:collect2: error: ld returned 1 exit status
解决:在工程的.pro文件中,同一个头文件被添加了多次,删除多余的只保留一个,编译通过。
未找到文件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’声明即可,详见http://www.cnblogs.com/wanyuanchun/p/4041080.html。
问题:在非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文件中,同一个头文件被添加了多次,删除多余的只保留一个,编译通过。
相关文章推荐
- qt5 编译错误
- QT DEMO编译错误问题解决:arthurwidgets.cpp:54:35: error: 和gluPerspective未定义问题.
- QT编译项目错误:lnk1123转换到coff期间失败文件无效或损坏
- Qt编译错误: 'UnicodeUTF8' is not a member of 'QApplication'
- qt编译报 debug/XXX_res.o Error 1 错误的解决办法
- 在ubuntu下使用Qt 编译时候遇上了cannot find -lGL错误
- qt编译错误解决(一)
- Qt 编译错误(用vs2015编译)
- Qt5.3编译错误——call of overloaded ‘max(int int)’is ambiguous
- Qt5.2编译时出现"/usr/bin/ld: cannot find -lxxx" 错误
- Qt编译错误提示: QDialog; No such file or directory
- Qt编译错误:undefinedreferenceto`vtable for 。。。。'的解决
- qt编译错误的处理
- QT4+boost::filesystem 产生编译时错误
- qt 编译错误
- Qt编译常见的错误:
- qt编译错误 _main 中被引用
- Qt5.9编译MQTT错误解决办法
- 安装QT4.7.4编译版本错误解决办法
- Qt 5.0.2 (32 bit) 编译错误