VS2017 下QT工程不能生成moc文件的解决方法

1.选择要moc的类的头文件,鼠标右键属性,配置属性->常规,在项类型中将C/C++ 标头,改为自定义生成工具

2.左侧点击自定义生成工具,下方的常规,配置如下

命令行:"$(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  "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I.\..\SDK\boost" "-I.\..\inc" 

说明:Moc%27ing wsthread_client.h      //.h文件填要编译的。

输出:.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp

附加依赖项:$(QTDIR)\bin\moc.exe;%(FullPath)

注意:如果不成功提示error MSB6006 cmd.exe 已退出,代码为3,是因为$(QTDIR)系统无法对别。将QTDIR添加入系统环境变量,这里不具体赘述。

3.右键.h文件,编译

4.编译成功

5.之后会在GeneratedFiles\debug文件夹下生成moc文件

6.将该文件添加工程中

7.成功

猜你喜欢

转载自blog.csdn.net/weixin_40787397/article/details/85013141