Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [C++ - Präprozessor] Compiler feststellen (https://www.delphipraxis.net/30029-%5Bc-praeprozessor%5D-compiler-feststellen.html)

Tubos 18. Sep 2004 17:34


[C++ - Präprozessor] Compiler feststellen
 
Hallo;

wie kann ich feststellen mit welchem Compiler mein Programm übersetzt wird und bei Visual C++ eine andere Headerdatei inkludieren als bei C++ - Builder?
Es geht mir nur um diese beiden Compiler, auf anderen muss es nicht funktionieren.
Habe mir die defined(...) - Bezeichner angesehen, aber nichts über die Compilerversion gefunden.

Wie kann ich das machen?

tommie-lie 18. Sep 2004 18:37

Re: [C++ - Präprozessor] Compiler feststellen
 
Code:
#ifdef _MSC_VER
Aber ohne garantie, der Intel-Compiler setzt zum Beispiel auch _MSC_VER. Für den BCC müsste es ein ähnliches Präprozessor-Symbol geben.

mirage228 18. Sep 2004 18:39

Re: [C++ - Präprozessor] Compiler feststellen
 
Hi,

beim C++ Builder ist es so (z.B.)
Delphi-Quellcode:
#if __BORLANDC__ < 0x500 
#error BCW 5.0 or greater required
#endif
gefunden hier

mfG
mirage228

Tubos 18. Sep 2004 18:40

Re: [C++ - Präprozessor] Compiler feststellen
 
Zitat:

Aber ohne garantie, der Intel-Compiler setzt zum Beispiel auch _MSC_VER. Für den BCC müsste es ein ähnliches Präprozessor-Symbol geben.
Wie gesagt, es geht mir nur um VC++ und C++ Builder.

Danke!

tommie-lie 18. Sep 2004 18:54

Re: [C++ - Präprozessor] Compiler feststellen
 
Zitat:

Zitat von Tubos
Wie gesagt, es geht mir nur um VC++ und C++ Builder.

Wie gesagt, das "Standardsymbol" vom VC wird gerne auch von anderen Compilern verwendet, wie zum Beispiel dem Intel-Compiler.
Du musst dich dann also wohl am BCB orientieren (Lösung siehe Davids Post) und zwischen "BCB und Rest" unterscheiden, oder in einem eventuell vorhandenen makefile dem MSCC anweisen, das Präprozessorsymbol XYZ auf einen bestimmten Wert zu setzen. Ein makefile steht aber vermutlich nicht zur Verfügung, weil du offensichtlich nicht in einer GNU-Entwicklung prorammierst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz