1. 程式人生 > >VS2017 下QT工程不能生成moc檔案的解決方法

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.成功