您的位置:首页 > 移动开发 > Objective-C

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输入:

"$(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手动添加进刚才生成的文件。再重新生成解决方案即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐