我有一个使用C库的cgo应用程序。在构建过程中,编译器显示了一些warnigns:
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
发布于 2018-09-20 23:05:44
CGO依赖于外部编译器工具链来编译C代码。例如,在我的Linux机器上,编译C代码默认为GCC。
对于gcc来说,你要找的旗子是-w,所以你的旗子是:
-I./libsolv-sys/src -D LIBSOLV_INTERNAL -w
如果使用另一个工具链,则可能需要另一个标志。
https://stackoverflow.com/questions/52433475
复制相似问题