如何指定一個預編譯的頭向CMake(2.8.12.1)AUTOMOC的輸出?QT5,CMake的,AUTOMOC和預編譯頭
到目前爲止,在的CMakeLists.txt我已經試過這兩個分別:
set(AUTOMOC_MOC_OPTIONS "-bstdafx.h")
set(AUTOMOC_MOC_OPTIONS "-fstdafx.h")
生成AUTOMOC輸出建設項目(project_automoc.cpp)時僅包含moc_xxx.cpp文件:
/* This file is autogenerated, do not edit*/
/// <- stdafx.h should be here ?!?!
#include "moc_widget_fps.cpp"
#include "moc_widget_sysevents.cpp"
我在我的項目看,當我打開AUTOMOC ON,對於每個file.h該有一個帶有Q_OBJECT的類,我在構建目錄中獲得了一個相應的moc_file.cpp。這些文件不會添加到我的(Visual Studio)項目中,而是我得到一個包含所有moc'ed cpp文件的project_automoc.cpp文件。由於我的項目使用預編譯頭文件,因此該文件應包含stdafx.h。如果我手動將/FIstdafx.h添加到VS中的該文件,它編譯得很好 – Pencheff
驗證moc命令行在創建moc_file.cpp時是否包含適當的-b和-f選項。 – steveire
@steveire如何從cmake影響moc命令行? –