vorkompilierte Header
-
moin
ich hab mir vor ner ganzen weile von sourceforge.net die dateien:
disphelper.c / disphelper.h reunter geladen und verwende sie um meine richtige festplatten id raus zu bekommen...nun ist es aber so das ich für ein mal projekt durchkompilieren ca 10-15 min brauche ... was das arbeiten etwas schwierig macht ... mein chef meinte ich solle dich die vorkompilierte Header aktivieren dadurch würde das schneller werden ...
dem ist auch so (gefühlt die hälfte der zeit) das problem ist wenn ich das aktiviere bekomm ich bei der datei: disphelper.c die meldung das das nicht geht ... ich hab rein geschaut und fest gestellt das da die sdtafx.h nicht includiert ist ... was man ja bei den vorkompilierte Header benötigt ... wenn ich diese nun rein packe bekomm ich aber von der afx.h die meldung das ich keine .c dateien verwenden kann sondern nur cpp ...
wie bekomm ich das problem gelöst?
mfg LT
-
Du schließt genau diese eine Datei von der Nutzung von Precompiled Headern aus.
Markiere diese Datei in der Solution, öffne die Projekteinstellungen mit Alt+F7 und mach Deine Einstellungen.Ich verwende zum Teil sogar mehere Precompiled header. Du kanst Die Einstellungen je Datei vornehmeen.
Ich packe oft solche speziellen dateien in einen eigenen Folder der Solution und markiere diesen Folder, dann kann ich die Compiler Einstellungen nur der Dateien in diesem Folder ändern.
-
moin
so das hab ich gemacht nur bekomm ich aber bei fast allen dateien (ca 100 oder so) diese fehlermeldung (weils anderes obj):
Warnung 230 warning C4727: Ein vorkompilierter Header mit dem Namen "e:\ws\c++\projekte\avs2xx\version_7.102 (gige)\fwrelease\acs2_v7.pch" und dem gleichen Timestamp wurde in "E:\ws\c++\Projekte\AVS2XX\Version_7.102 (GigE)\FwRelease\Timer.obj" und in "E:\ws\c++\Projekte\AVS2XX\Version_7.102 (GigE)\FwRelease\About.obj" gefunden. Der zuerst gefundene wird verwendet. E:\ws\c++\Projekte\AVS2XX\Version_7.102 (GigE)\LINK AVS2_V7
Fehler 231 error LNK2005: ___@@_PchSym_@00@UdhUxQQUkilqvpgvUzehCccUevihrlmPHOBACLStrtvTUudivovzhvUzkhOlyq@ ist bereits in About.obj definiert. E:\ws\c++\Projekte\AVS2XX\Version_7.102 (GigE)\Timer.obj AVS2_V7
-
Deine Einstellungen sind falsch.
- Markiere alle Dateien. Setze die Option Vorkompilierte Header verwenden (stdafx.h)
- Markiere sie stdafx.cpp. Setze die Option Vorkompilierte Header erzeugen (stdafx.h)
- Markiere die dateien die Vorkompilierte Header nicht verwenden. Setze auf "Nicht verwenden"
-
frage:
disphelper.cpp auf nicht verwenden stellen
oder disphelper.c + disphelper.h
-
noch nen fehler:
Fehler 4 error C1854: Die beim Anlegen der vorkompilierten Headerdatei in der Objektdatei "e:\ws\c++\projekte\avs2xx\version_7.102 (gige)\fwrelease\aps.obj" ermittelten Informationen können nicht überschrieben werden. E:\ws\c++\Projekte\AVS2XX\Version_7.102 (GigE)\APS.cpp 1 1 AVS2_V7
-
ok projekt 1 mal bereinigen + neu erstellen und schon gehts ... thx für die hilfe