autotools:启用编译器警告
对于基于自动工具的 C 项目,我希望从编译器获得更多警告(例如至少 CFLAGS 中的 -Wall)。在不破坏任何内容的情况下启用编译器标志的首选方法是什么?是否有一个 m4 宏可以测试编译器是否可以理解给定的编译器标志? 有了这样的宏我就可以做到
TEST_AND_USE(-Wall -Wextra <other flags>)
谢谢
for an autotools-based C project, I'd like to get some more warnings from the compiler (e.g. at least -Wall in CFLAGS). What is the prefered way to enable compiler flags without breaking anything? Is there a m4 macro that tests if a given compiler flag is understood by the compiler?
With such a macro I could do
TEST_AND_USE(-Wall -Wextra <other flags>)
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以只使用
AC_TRY_COMPILE
:2015 年补充:
AC_TRY_COMPILE
现已弃用,您应该使用AC_COMPILE_IFELSE
:You can just use
AC_TRY_COMPILE
:2015 addition:
AC_TRY_COMPILE
is now deprecated, instead you should useAC_COMPILE_IFELSE
:根本不用费心去更改
configure.ac
。只需使用您关心的CFLAGS
调用./configure
即可:Don't bother changing the
configure.ac
at all. Just call./configure
with theCFLAGS
you care about:广泛使用的是 attributes.m4 xine 项目中的 CC_CHECK_CFLAG_APPEND 宏。尽管如此,您经常会发现直接在configure.ac中编写的变体(因为它非常简单)
Widely used is the attributes.m4 CC_CHECK_CFLAG_APPEND macro from the xine project. Although, you often find variants (since it's quite simple) written directly in configure.ac
我这样做:
这是一个低技术解决方案,但您不必适应所有编译器
I do this:
it is a low-tech solution, but you do not have to accommodate all compilers