失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > go build编译失败:imports xxx/xxx/xxx: build constraints exclude all Go files in xxx/xxx/xxx

go build编译失败:imports xxx/xxx/xxx: build constraints exclude all Go files in xxx/xxx/xxx

时间:2019-03-25 22:56:36

相关推荐

go build编译失败:imports xxx/xxx/xxx: build constraints exclude all Go files in xxx/xxx/xxx

我的第一份工作是做java开发的,后来增删改查写的没意思了,就转到大数据了。后来想了半年左右,感觉大数据并不适合自己,就又打算转回java。边复习边学习边找骑驴找驴,然而机缘巧合,找了一份go的工作,现在从事go开发。虽说语言只是工具,但还是有许多东西需要专门去学;也有一些坑得自己去踩。所以这段时间,又可以继续写博客了~

我自认为代码功底还算可以,所幸目前也没碰到go语法上的问题。碰到的多是设置问题。就像这次,碰到的问题是,go编译项目报错:imports xxx/xxx/xxx/xxx/xxx: build constraints exclude all Go files in xxx/xxx/xxx/xxx。

重点是: build constraints exclude all Go files in

反正看着肯定不是我代码写错了…应该是设置什么出问题了,然后就百度了半天。这里还是感慨一下:java就是好啊,碰到的问题基本都能搜到答案,而且都很靠谱。想起我刚学flink的时候,资料太少,经常搜flink的错误,出来的都是spark的解决方案…

因为是前几天搜的,所以这会也基本忘得都差不多了。印象里主流答案有两个:

export GOOS=“linux”。即:将其设置为自己电脑所对应的系统export CGO_ENABLED=“1”。

我的电脑,第一个设置没有问题,所以修改了第二个设置。CGO就是可以让go调用c的一种特性(表述不太专业,欢迎大佬指正),要使用CGO特性,需要安装C/C构建工具链,在macOS和Linux下是要安装和GCC,在windows下是需要安装MinGW工具。同时需要保证环境变量CGO_ENABLED被设置为1,这表示CGO是被启用的状态。在本地构建时CGO_ENABLED默认是启用的,当交叉构建时CGO默认是禁止的。比如要交叉构建ARM环境运行的Go程序,需要手工设置好C/C交叉构建的工具链,同时开启CGO_ENABLED环境变量。然后通过import "C"语句启用CGO特性。

而我的 CGO_ENABLED 是0,当修改为1后,再编译,就正常了~

可能有人觉得这篇博客有点水,那你感觉对了…今天是.05.04,发一篇600字以上的博文可以获一个五一勋章~

如果觉得《go build编译失败:imports xxx/xxx/xxx: build constraints exclude all Go files in xxx/xxx/xxx》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。