Projekt nachträglich mit precompiled header erstellen
-
Hallo,
habe ein bestehendes altes Projekt übernohmen. Dieses Projekt besteht aus ca 100 Dateien und verwendet die boost-Library. Ein kompletter Rebuild dauert ca. 15 Min. Da keine precompiled header verwendet werden, würde ich das komplette Paket gerne nachträglich darauf umstellen. Verwendet wird Visual C++ 2005 in der Enterprise Edition.
Gibt es dafür Tutorials und Linktipps wie man sowas nachträglich macht?
Meine Idee ist es ein #define zu verwenden WITH_PCH und dann in der stdafx.h und allen cpp-Dateien das einbinden per #include durch #if !defined(WITH_PCH) zu steuern.
Dies führt allerdings zu ganz merkwürdigen Effekten. Ich bekomme plötzlich Fehlermeldungen, dass bestimme Funktionen nicht mehr deklariert sind. Im stdafx wird der entsprechende Header aber included. Wenn ich WITH_PCH nicht definiere
wird das Projekt ohne Fehlermeldung kompiliert.Kennt jemand diese Effekte bei der Umstellung auf precompiled header?
Gruss Thorsten.
-
Müsste eigentlich so gehen:
-
StdAfx.cpp/StdAfx.h erstellen und dem Projekt hinzufuegen
-
In den Projekteigenschaften (C++/Vorkompilierte Header) für jede Konfiguration (Debug/Release) folgende Eigenschaften setzen:
- Vorkompilierten Header verwenden (/Yu)
- StdAfx.h
- (IntDir)\\(TargetName).pch -
Dann die Projekteigenschaften nochmal für StdAfx.cpp aufrufen und:
- Vorkompilierten Header erstellen (/Yc) -
Anschließend in jeder .cpp-Datei am Anfang die Zeile
#include "StdAfx.h"
einfügen.
-
-
Danke für deine Antwort,
ich dachte eigentlich ich habe es so gemacht. Werde die Schritte anhand deiner Anleitung nochmal nachvollziehen. Bin aber im Moment noch an einem anderen Projekt dran.
Gruss Thotsten