clang - 为什么 clang -dumpversion 报告 4.2.1

标签 clang autotools

我试图使用 -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/

相关文章:

Xcode 6.1/LLVM 6.0 的 C++ URDL 编译错误

c++ - 类模板的名称是否在限定的外部析构函数定义的范围内?

mingw - Clang 通过命令行工作,但不能通过 SublimeClang (Win8x64) 在 Sublime Text 中工作

ubuntu - 如何使用自动工具构建静态和共享库?

git - 我应该将 Autotools 生成的哪些文件保存在版本控制存储库中?

c - 学习如何使用 GNU Autotools 打包我的程序时遇到问题

makefile - 在 Makefile 中使用 Clang++ 代替 G++

Xcode clang 链接 : Build Dynamic Framework (or dylib) not embed dependencies

c - OpenBSD 6.1 termio.h : No such file or directory

autotools - automake:添加对 _PROGRAMS 目标的依赖关系