在mac上利用交叉编译,可生成在ubuntu上运行的文件。 然后,在mac上想strip时,发现失败:
/Library/Developer/CommandLineTools/usr/bin/strip: can't process non-object and non-archive file
想了一下,大概知道原因了:在mac上的strip命令,不认知交叉编译后的文件,所以无法strip. 这样,把文件从mac传到ubuntu时,就非常耗时。怎么办呢?
可以考虑在编译的时候,提前去掉符号和调试信息,比如:
go build -ldflags "-s -w" a.go
搞定问题。