为了让我的应用程序尽可能少出现警告,我开始使用-Werror来告诉GCC将所有警告视为错误。
这对我很有帮助,因为在一个庞大的构建输出中有时会漏掉一两个(严重)警告。
不幸的是,我的项目使用SQLite 3,其中包含许多警告,正如SQLite网站上所述,这些警告无法消除(他们不想删除)。
我想知道是否有一种方法可以在sqlite3.c文件中放置一些#pragma来告诉GCC仅针对该文件停止将警告视为错误。
我尝试了:
#pragma GCC diagnostic ignored "-Werror"
但是没有成功。
我也尝试过逐个列出导致问题的警告:
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wfloat-equal"
#pragma GCC diagnostic ignored "-Wundef"
...
...不幸的是,有一些警告是无法完全关闭的(即,初始化舍弃指针目标类型的限定符)。
我该怎么办?