Wie wird ein vorkompilierter Header für die Ausgabe von CMake (2.8.12.1) AUTOMOC angegeben?Qt5, CMake, AUTOMOC und vorkompilierte Header
Bisher in der CMakeLists.txt habe ich versucht, diese zwei getrennt:
set(AUTOMOC_MOC_OPTIONS "-bstdafx.h")
set(AUTOMOC_MOC_OPTIONS "-fstdafx.h")
Die erzeugte AUTOMOC Ausgang beim Bau des Projekts (project_automoc.cpp) nur die moc_xxx.cpp Dateien enthält:
/* This file is autogenerated, do not edit*/
/// <- stdafx.h should be here ?!?!
#include "moc_widget_fps.cpp"
#include "moc_widget_sysevents.cpp"
Was ich in meinem Projekt zu sehen, wenn ich auf dem AUTOMOC ON drehen ist, für jeden file.h dass hat eine Klasse mit Q_OBJECT in, ich bekomme eine entsprechende moc_file.cpp im Build-Verzeichnis. Diese Dateien werden meinem (Visual Studio) Projekt nicht hinzugefügt, stattdessen erhalte ich eine einzige Datei project_automoc.cpp, die alle darin enthaltenen cpp-Dateien enthält. Da mein Projekt vorkompilierte Header verwendet, sollte diese Datei stdafx.h enthalten. Wenn ich /Fistdafx.h dieser Datei manuell in VS hinzufüge, kompiliert es fein – Pencheff
Überprüfen Sie, ob die MOC-Befehlszeile die entsprechenden Optionen -b und -f beim Erstellen von moc_file.cpp enthält. – steveire
@steveire Wie beeinflusst man die Befehlszeile von cmake? –