Ich möchte je nach Version von GCC eine andere Datei hinzufügen. Genauer möchte ich schreiben:Wie teste ich zur Kompilierzeit die aktuelle Version von GCC?
#if GCC_VERSION >= 4.2
# include <unordered_map>
# define EXT std
#elif GCC_VERSION >= 4
# include <tr1/unordered_map>
# define EXT std
#else
# include <ext/hash_map>
# define unordered_map __gnu_cxx::hash_map
# define EXT __gnu_cxx
#endif
ist mir egal gcc vor 3.2.
Hinweis: Ich bin ziemlich sicher, dass eine Variable zur Vorverarbeitungszeit dafür definiert ist, ich kann es einfach nicht wieder finden.
mit der Leider ist dieser Code nicht clang Compiler, der '__GNUC__' definiert, aber' features.h' nicht enthält. – Gil
Nun, dieser Code soll die Version von GCC kennen, also ist es nicht verwunderlich, dass es fehlschlägt, wenn der Clan sich teilweise als GCC ausgibt. – PierreBdR
Sorry, es scheint, ich habe mich geirrt. Das 'features.h'-Include ist einfach eine Linux-spezifische Sache und sollte nicht für irgendeinen Code verwendet werden, der auf anderen Plattformen kompiliert werden soll. – Gil