登录
首页 >  Golang >  Go问答

抑制cgo的警告方法

来源:stackoverflow

时间:2024-03-01 11:33:25 237浏览 收藏

积累知识,胜过积蓄金银!毕竟在Golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《抑制cgo的警告方法》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

我有一个使用 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  is deprecated [-Wcpp]
 #warning usage of non-standard #include  is deprecated
  ^~~~~~~

这个库不是由我自己维护的,我无法直接修复这个警告。不过我厌倦了这个警告。

问题:如何抑制 cgo 中的警告?

使用过的 cgo 旗帜: cflags:-i./libsolv-sys/src -d libsolv_internal ldflags:${srcdir}/libsolv-sys.a


解决方案


CGO 依赖外部编译器工具链来编译 C 代码。 例如,在我的 Linux 机器上,它将默认使用 GCC 来编译 C 代码。

对于 gcc,您正在寻找的标志是 -w,因此您的标志将是:

-I./libsolv-sys/src -D LIBSOLV_INTERNAL -w

参考号:Disable all gcc warnings

如果您使用其他工具链,您可能需要另一个标志。

今天关于《抑制cgo的警告方法》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>