go语言是支持交叉编译的,使用windows平台可以编译成在linux上运行的代码,反之亦然。
但要注意,这不意味着你所有的代码都可以无缝兼容多个平台,例如,一些包因为使用了和平台相关的特性和底层接口,其他平台是不支持的!这时候包的作者为了避免因为跨平台编译产生错误,会限制代码包的支持平台。想要你的项目同时支持macos、linux、windows,代码必须全部支持这些平台,否则就会产生错误,检查一下你引入的代码包是否只支持特定平台。
比如,为了获取当前进程id,我们引入"golang.org/x/sys/windows",使用windows.GetCurrentProcessId()来实现这个需求,从名字上我们也能看到这个包只支持windows平台,你在linux上编译肯定会出现问题,报错build constraints exclude all Go files in。
go编译报错 build constraints exclude all Go files in
最新推荐文章于 2025-02-05 16:00:00 发布