2009-05-15 7 views
0

Werden vorkompilierte Header auf gcc 3.3.3 unterstützt?Vorkompilierte Header, die auf gcc 3.3.3 unterstützt werden?

Wenn ja, wie lautet die Syntax zum Generieren und Verwenden vorkompilierter Header unter Linux mit gcc 3.3.3. Wir kompilieren unsere Projekte unter Windows und Linux, unter Windows kompilieren wir stdafx.h und ich untersuche, wie ich es einrichten kann, damit es auch auf Linux vorkompiliert wird.

Ich bin bewusst, the gcc doc, ich suche nach der tatsächlichen Lösung.

auf gcc 3.3.3 bekomme ich diese:

> gcc stdafx.h 
gcc: compilation of header file requested 

Und zuletzt, wenn es funktioniert, was der Name der erzeugten Datei sein?

BEARBEITEN: Vorkompilierte Header werden auf gcc 3.3.3 nicht unterstützt und auf neueren gcc wird die generierte Datei mit der Erweiterung .gch benannt.

Antwort

1

Ich weiß nicht, aus welcher Version gcc es unterstützt, aber für wie man sie verwendet, lesen Sie einfach die gcc documentation.

Wie auch immer, gcc 3.3.3 ist auch ziemlich alt. Vielleicht besteht die Möglichkeit, dass Sie auf eine neuere Version 4.X upgraden können? Das sollte neu kompilierte Header unterstützen.

Vielleicht könnten Sie den neuesten 3.X GCC (GCC 3.4.6) versuchen. Ich nehme an, dass die ABI-Pause von 3.X zu 4.X ist, also kann 3.4 kompatibel sein. Ich denke, es lohnt sich, es zu überprüfen.

von http://gcc.gnu.org/gcc-3.4/changes.html

C/Objective-C/C++
vorkompilierte Header werden nun unterstützt.

+0

Wir haben gcc 4.X, müssen aber älteren Build unterstützen, weil Bibliotheken von Drittanbietern nicht unsere Wahl sind. – stefanB

+1

Wenn der neueste 3.X GCC (GCC 3.4.6) immer noch ABI-kompatibel mit Ihren 3rd-Party-Bibliotheken ist, sollte der Wechsel zu GCC 3.4.6 helfen. – lothar

+0

Scheint wie der Hinweis impliziert, dass vorkompilierte Header von gcc 3.4 unterstützt werden, danke. Kein Problem, ich werde sie jetzt auf gcc 4.x einschalten. – stefanB

0

Ich bin nicht ganz sicher, ob GCC 3.3 unterstützt, aber Header Vorkompilieren ist eigentlich nicht anders Herstellung Objekte, zumindest mit GCC 4.x:

gcc $CFLAGS header.h 

Es wird eine neue vorkompilierte Header erzeugen neben der .h-Datei und automatisch verwenden, wenn es #include d.

+0

Würde es die Datei als header.h.pch oder so ähnlich oder header.o generieren? – stefanB

+0

on gcc 3.3.3 Ich erhalte einen Fehler, daher vermute ich, dass vorkompilierte Header nicht unterstützt werden. – stefanB

0

Ich erinnere mich nicht daran, wenn es in gcc 3.3.3 unterstützt wird. Die Ausgabedatei ist {filename.ext} .gch

Verwandte Themen