英文:
Setting GOOS with go run
问题
我目前正在开发一个可以作为Windows服务构建或作为OSX/Linux可执行文件运行的服务。
我在Windows文件上使用了构建标签,包括一个包含主方法的文件:
// +build windows
还有另一个包含主方法的文件:
// +build !windows
当我在Mac上执行go run *.go
时,我得到以下错误:
mainDOS.go:10:2: 在 /Users/michaelbrandenburg/Documents/git-repo/goCode/src/golang.org/x/sys/windows/svc 中没有可构建的Go源文件
windowsService.go:15:2: 在 /Users/michaelbrandenburg/Documents/git-repo/goCode/src/golang.org/x/sys/windows/svc/debug 中没有可构建的Go源文件
install.go:14:2: 在 /Users/michaelbrandenburg/Documents/git-repo/goCode/src/golang.org/x/sys/windows/svc/eventlog 中没有可构建的Go源文件
install.go:15:2: 在 /Users/michaelbrandenburg/Documents/git-repo/goCode/src/golang.org/x/sys/windows/svc/mgr 中没有可构建的Go源文件
有没有办法运行go run
并针对我想要运行的架构进行目标设置?我可以顺利构建可执行文件。
英文:
I'm currently developing a service that can be built as windows service or run as OSX/linux executable.
I'm using build tags on windows files, including the one with a main method
// +build windows
And on the other file containing a main method
// +build !windows
When I execute go run *.go
on the mac side, I get the following error
mainDOS.go:10:2: no buildable Go source files in /Users/michaelbrandenburg/Documents/git-repo/goCode/src/golang.org/x/sys/windows/svc
windowsService.go:15:2: no buildable Go source files in /Users/michaelbrandenburg/Documents/git-repo/goCode/src/golang.org/x/sys/windows/svc/debug
install.go:14:2: no buildable Go source files in /Users/michaelbrandenburg/Documents/git-repo/goCode/src/golang.org/x/sys/windows/svc/eventlog
install.go:15:2: no buildable Go source files in /Users/michaelbrandenburg/Documents/git-repo/goCode/src/golang.org/x/sys/windows/svc/mgr
Is there a way to run go run
and target the architecture I want to run? I can build the executables with no problem.
答案1
得分: 2
GOOS=darwin go run *.go
将设置 Mac OSX 的环境。尽管如JimB所说,这没有太大意义。但是,使用 GOOS=darwin go build *.go
是一种很好的交叉编译方法。
英文:
GOOS=darwin go run *.go
will set the env for Mac OSX. Though, like JimB said, there isn't much of a point. Doing GOOS=darwin go build *.go
is a good way to cross compile though
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论