【问题标题】:Check toolchain configuration at compile time在编译时检查工具链配置
【发布时间】:2012-11-21 15:44:29
【问题描述】:

是否有一种在编译时检查 (gcc) 编译器配置的好方法(从 Makefile 中或从 C 源文件中)。我想检查正在使用的编译器是否对正在编译的代码有足够的支持,如果没有,我希望它立即失败,并显示一条明确的消息,要求用户升级他们的工具链。

谢谢

约翰

【问题讨论】:

    标签: gcc makefile toolchain gnu-toolchain


    【解决方案1】:

    我推荐的最常用的工具是autotoolsCMake

    Autotools 是 GNU 项目的历史工具,是一套脚本,允许开发人员通过 M4 脚本 (autoconf) 实现功能检测。有用于常见测试的预定义宏。

    CMake 是一种更新的原生 C++ 工具链,它还支持最常见的功能检查,并允许开发人员通过其强大的语言实现自己的测试。

    请注意,两者都是完全替代手写 makefile 的完整构建工具链。 然而,我相信它们在跨平台支持和可维护性方面提供的优势比 makefile 提供的控制级别更有价值。

    【讨论】:

      【解决方案2】:

      如果检测到的问题的解决方案是升级工具链,则检查编译器预定义的__GNUC____GNUC_MINOR____GNUC_PATCHLEVEL__ 宏。

      【讨论】:

      • 我不是在寻找工具链版本,而是在寻找配置(使用 posix 线程等)。
      猜你喜欢
      • 2013-10-12
      • 2020-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-04
      • 2021-08-30
      • 2012-09-09
      • 1970-01-01
      相关资源
      最近更新 更多