Я хотел бы включить другой файл в зависимости от версии GCC. Точнее я хочу написать:Как проверить во время компиляции текущую версию 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
Мне все равно, gcc до 3.2.
Примечание: Я уверен, что для этого требуется переменная, определенная для предварительной обработки, я просто не могу ее найти.
К сожалению, этот код не с clang, который определяет `__GNUC__`, но не включает` features.h`. – Gil 2013-05-22 13:19:51
Ну, этот код должен знать версию GCC, поэтому неудивительно, что это не удается, если clang частично олицетворяет GCC. – PierreBdR 2013-05-28 11:44:28