我试图使用 -dumpversion 来确定编译器是否可用。 我的项目使用 clang 和较新的 gcc 进行编译,但不能使用旧的 gcc 4.2.1 进行编译。
那么为什么 clang 假装是一个旧的 gcc 呢?
额外的问题,是否可以在运行时更改此值?
或者有人有一个很好的 autoconf 宏来确定 clang 和 gcc 的编译器版本吗?
最佳答案
Clang 最初是为了与 gcc 4.2.1 兼容而编写的。已经有some discussion关于今年早些时候更新该数字,但存在问题。
对于 autoconf 检查,clang 建议使用其 __has_feature extension 。 Clang 的文档有一个list of things you can check with __has_feature也是。
关于clang - 为什么 clang -dumpversion 报告 4.2.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12893731/