windows - Makefile 未设置 GOOS 环境变量

标签 windows go makefile cross-compiling

我在下面编写了 Makefile 来为不同平台构建 Golang 代码。 (我的操作系统是Windows 10并通过命令提示符运行Makefile)

GOCMD   =  go
GOBUILD =  $(GOCMD)  build
GOFILES =   $(wildcard *.go)
SONG_PATH =  ./song-service
SONG_PATH_OUTPOUT =  ./song-service/cmd
SONG_BINARY_NAME_LIN =  songservice_lin

song-build-lin:
    set GOOS=linux
    set GOARCH=amd64
    $(GOBUILD)  -o "$(SONG_PATH_OUTPOUT)/$(SONG_BINARY_NAME_LIN)" -v "$(SONG_PATH)/$(GOFILES)"

当我运行 make Song-build-lin 时,它运行时没有错误,但 GOOS 变量未设置。 但是当我直接在命令提示符下运行 set GOOS=linux 时,它就可以工作了!

最佳答案

终于找到答案了

我使用 VSCode 终端运行 make 命令,我使用的终端类型是命令提示符。如果将终端类型更改为 Git bash,命令将正常工作。

关于windows - Makefile 未设置 GOOS 环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56252368/

相关文章:

c++ - 将值转换为 bool 的魔法

google-app-engine - App Engine 数据存储区 : How to set multiple values on a property using golang?

c++ - 了解 makefile

c++ - 错误 : inlining failed to call always_inline

git - digital ocean ,Ubuntu Droplet - 使 : *** No rule to make target `all' . 停止

windows - 查找给定进程 ID 的进程的所有线程

windows - 批量删除文本文件中的重复行

python - Jupyter笔记本错误Windows 10

windows - “GoDep”未被识别为内部或外部命令

go - 如何在 KrakenD 中使用带有 TLS 的客户端?