QT遇到unresolved external symbol "public: virtual struct QMetaObject解决方案
2018-02-10 18:15
411 查看
出现这个错误的原因是没有为头文件生产moc文件,在类定义包含Q_OBJECT宏都是必需有这个moc文件的。
右击该头文件,属性,General的Item Type选择Custom Build Tool,确定。再重新进入General界面,点击Custom Build Tool,
Command Line输入:
Outputs输入:
additional dependecies输入:
保存。重新生成解决方案。
这时候GeneratedFiles文件夹下应该多出一个moc_xxxx.cpp。在项目GeneratedFiles手动添加进刚才生成的文件。再重新生成解决方案即可。
右击该头文件,属性,General的Item Type选择Custom Build Tool,确定。再重新进入General界面,点击Custom Build Tool,
Command Line输入:
"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtNetwork" "-IE:\Program Files (x86)\Visual Leak Detector\include"
Outputs输入:
.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp
additional dependecies输入:
$(QTDIR)\bin\moc.exe;%(FullPath)
保存。重新生成解决方案。
这时候GeneratedFiles文件夹下应该多出一个moc_xxxx.cpp。在项目GeneratedFiles手动添加进刚才生成的文件。再重新生成解决方案即可。
相关文章推荐
- [Qt4]VS2010编译提示error LNK2001: unresolved external symbol "public: virtual struct QMetaObject等错误解决方案
- 【qt错误】unresolved external symbol "public: virtual struct QMetaObject
- Qt编程之信号与槽-------unresolved external symbol "public: virtual struct QMetaObject const * __thiscall XX::metaObject(void)const
- error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const (转)
- error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const
- error LNK2001: unresolved external symbol "public: virtual struct QMetaObject
- error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const
- error LNK2001: unresolved external symbol "public: static struct QMetaObject const QwtPlot::staticMe
- error LNK2001: unresolved external symbol "public: static struct QMetaObject const QwtPlot::staticMe
- QT中添加Q_OBJECT时编译提示obj : error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const错误解决方法
- QT无法解析的外部符号"public:virtualstructQMetaObjectconst*__thiscallWidget::metaObject"
- QT + VS2005 编译出现 error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall Widget::metaObject 错误
- error LNK2001: unresolved external symbol "public: virtual __thiscall CppUnit的解决办法
- error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall ****::metaObj
- song2013 error LNK2001: unresolved external symbol "public: virtual
- error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall Widget::metaObject
- QT error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall Widget::metaObjec
- error LNK2001: unresolved external symbol "public: virtual enum TCPSError
- error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __cdecl MainWindow::metaObject(
- unresolved external symbol "public: virtual __thiscall...错误