在我寻求免费警告应用程序时,我已经开始使用-Werror来告诉gcc将所有警告视为错误.
这确实非常有用,因为有时我在大型构建输出中错过了一两个(严重)警告.不幸的是,我的项目使用的sqlite3包含许多警告,如sqlite网站中所述,无法消除(他们不想删除).
我想知道是否有一种方法可以使用一些#pragma我可以放在sqlite3.c文件中告诉gcc停止将警告视为仅对该文件的错误.
我尝试过:
#pragma GCC diagnostic ignored "-Werror"
Run Code Online (Sandbox Code Playgroud)
没有成功我也试图逐个列出导致问题的警告:
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wfloat-equal"
#pragma GCC diagnostic ignored "-Wundef"
...
Run Code Online (Sandbox Code Playgroud)
...遗憾的是,有些警告无法完全关闭(即初始化会从指针目标类型中丢弃限定符).
有什么想法/建议?
您可以在 Makefile 中添加一条额外的规则,以便在没有或根本没有任何警告的情况下sqlite3.c
编译文件。-Werror
按照通常的约定,这样的事情可能就足够了:
sqlite3.o: sqlite3.c
$(CC) $(CFLAGS) -w -c sqlite3.c
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
836 次 |
最近记录: |