如何指定一个预编译的头向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命令行? –