禁用-Werror ini配置文件

问题描述 投票:12回答:3

在使用Makefile创建项目时,我收到此错误:

error: implicit declaration of function ‘fatal’ [-Werror=implicit-function-declaration]

cc1: all warnings being treated as errors

./configure --help显示

Optional Features:
  --disable-option-checking  ignore unrecognized --enable/--with options
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --disable-dependency-tracking  speeds up one-time build
  --enable-dependency-tracking   do not reject slow dependency extractors
  --disable-gtktest       do not try to compile and run a test GTK+ program
  --enable-debug    Turn on debugging

怎么能告诉configure不要包含-Werror?

makefile configure
3个回答
18
投票

Werror是一个gcc参数,你不能直接通过./configure删除它,否则像--disable-error这样的选项会显示在帮助文本中。但是,这是可能的。

设置环境变量:

export CFLAGS="-Wno-error"

这适用于C编译器。如果项目使用C ++,请执行以下操作:

export CXXFLAGS="-Wno-error"

在非常罕见的情况下,项目不尊重这些变量,您最后的办法是编辑configure.ac文件并搜索-Werror并将其从发生的字符串中删除(但要小心)。


6
投票

似乎这个功能已经在autotools中使用了很多年:

./configure --disable-werror

不幸的是,我无法得到以下具体案例:

./configure --enable-wno-error=unused-value

也许它可以工作如果一个逃脱'='符号,假设它是可能的。就像脱脂说的那样,人们仍然可以使用CFLAGSCXXFLAGS


1
投票

这项工作对我来说,编译curlpp,lubuntu 16.10:

./configure --disable-ewarning
© www.soinside.com 2019 - 2024. All rights reserved.