我有一个使用C库的cgo应用程序。在构建过程中,编译器显示一些警告:
In file included from ./libsolv-sys/src/qsort_r.c:40:0,
from ./libsolv-sys/src/util.c:181,
from ./libsolv.go:16:
/usr/include/sys/cdefs.h:1:2: warning: #warning usage of non-standard #include <sys/cdefs.h> is deprecated [-Wcpp]
#warning usage of non-standard #include <sys/cdefs.h> is deprecated
^~~~~~~
此库不是我自己维护的,我无法直接解决此警告。不过我讨厌警告。
问题:如何在CGO中禁止显示警告?
使用的CGO标志:
CFLAGS: -I./libsolv-sys/src -D LIBSOLV_INTERNAL
LDFLAGS: ${SRCDIR}/libsolv-sys.a
答案 0 :(得分:2)
CGO依靠外部编译器工具链来编译C代码。 例如,在我的Linux机器上,它将默认为GCC来编译C代码。
对于gcc,您要查找的标志是onCreate()
,因此您的标志将是:
-w
如果使用其他工具链,则可能需要另一个标志。