我试图使用-dumpversion来确定编译器是否可用。 我的项目用clang和更新的gcc编译,但不是用旧的gcc 4.2.1编译。
那为什么clang假装是一个老gcc?
额外的问题,是否可以在运行时更改此值?
或者有没有人有一个很好的autoconf宏来确定同时包含clang和gcc的编译器版本?
答案 0 :(得分:7)
Clang最初编写为与gcc 4.2.1兼容。今年早些时候已有some discussion关于更新这个数字,但有问题。
对于autoconf检查,clang建议使用其__has_feature extension。 Clang的文档也有list of things you can check with __has_feature。