我在linux环境下编译一个文件夹的文件,编译文件没有出错,command-line-arguments.a已经生成了,但是没有产生a.out ,试了最新的go1.8.3也是这样
具体错误如下:
go install command-line-arguments: open /tmp/go-build267759704/command-line-arguments/_obj/exe/a.out: no such file or directory
搞了快一天了,也不知道为啥,求大神解答!!
知道为啥了 go build 的时候把 -o manager 写到 ldflag里去了,然后 link的时候就有两个 -o ( -o $WORK/command-line-arguments/_obj/exe/a.out 和 -o manager )了,貌似1.4的版本支持这个。我这边1.6的和更新的都不支持, 把 -o manager 提到 ldflag外面就可以了:
go build -v -x -work -ldflags "-o manage -w -s " $^ 改成 go build -o manage -v -x -work -ldflags " -w -s " $^
#6
更多评论
go install 是最后一步。 试过其他的代码是可以的,就这个文件夹不行。起初以为是用了什么需要新版本才有的库,所以升级到go1.8.3了,但是升级了还是老样子
#2