1

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

谢谢

约翰

4

2 回答 2

0

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

于 2012-11-21T16:54:36.513 回答
0

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

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

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

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

于 2012-11-21T15:49:28.300 回答