728x90
작업 환경을 윈도우 기준으로 설명합니다.
Go로 작성된 프로그램은 환경 변수(GOOS, GOARCH)를 사용하여 Windows, macOS, Linux와 같은 OS용으로 쉽게 컴파일할 수 있습니다 .
환경변수 중에 GOOS는 운영체제(windows, linux...)를 지정하고, GOARCH에는 운영체제에 맞는 아키텍쳐를 설정합니다. 예를 들어 windows 64bit 아키텍쳐는 GOARCH에 amd64로 설정해야 합니다. 환경 변수는 go env로 명령어로 확인 가능합니다.
Compile for Windows (Windows용으로 컴파일)
@REM Windows 64bit binary compile
SET GOOS=windows& SET GOARCH=amd64& go build -o bin/app-windows-amd64.exe main.go
@REM Windows 32bit binary compile
SET GOOS=windows& SET GOARCH=386& go build -o bin/app-windows-386.exe main.go
Compile for Linux (Linux용으로 컴파일)
@REM Linux 64bit binary compile
SET GOOS=linux& SET GOARCH=amd64& go build -o bin/app-linux-amd64 main.go
@REM or
SET GOOS=linux& SET GOARCH=arm64& go build -o bin/app-linux-arm64 main.go
@REM Linux 32bit binary compile
SET GOOS=linux& SET GOARCH=386& go build -o bin/app-linux-386 main.go
Compile for MacOS (MacOS용으로 컴파일)
@REM MacOS 64bit binary compile
SET GOOS=darwin& SET GOARCH=amd64& go build -o bin/app-macos-amd64.exe main.go
@REM or
SET GOOS=darwin& SET GOARCH=arm64& go build -o bin/app-macos-arm64.exe main.go
위에서 설명한 것 외에 훨씬 더 많은 OS 및 CPU아키텍처 조합을 지원합니다. 자세한 내용은 다음을 참고하세요.
GO에서 GOOS(운영체제)와 GOARCH(아키텍쳐)의 유효화 조합
( 공식문서 The valid combinations of $GOOS and $GOARCH are: )
GOOS (운영체제 ) | GOARCH (CPU아키텍쳐) |
aix | ppc64 |
android | 386 |
android | amd64 |
android | arm |
android | arm64 |
darwin | amd64 |
darwin | arm64 |
dragonfly | amd64 |
freebsd | 386 |
freebsd | amd64 |
freebsd | arm |
illumos | amd64 |
ios | arm64 |
js | wasm |
linux | 386 |
linux | amd64 |
linux | arm |
linux | arm64 |
linux | ppc64 |
linux | ppc64le |
linux | mips |
linux | mipsle |
linux | mips64 |
linux | mips64le |
linux | riscv64 |
linux | s390x |
netbsd | 386 |
netbsd | amd64 |
netbsd | arm |
openbsd | 386 |
openbsd | amd64 |
openbsd | arm |
openbsd | arm64 |
plan9 | 386 |
plan9 | amd64 |
plan9 | arm |
solaris | amd64 |
windows | 386 |
windows | amd64 |
관련문서 :
https://golang.org/doc/install/source#environment
728x90
'Programming' 카테고리의 다른 글
[go] gin : ShouldBind함수로 QueryString의 array 값 처리하기 (0) | 2021.07.19 |
---|---|
[GO] struct tag 관련 글 (0) | 2021.07.19 |
[GO] RESTAPI 문서화 도구 - Swagger + Gin Framework 적용하기 (0) | 2021.07.17 |
[C#] JSON의 직렬화 및 역직렬화(마샬링 및 역마샬링) 예제 모음 (0) | 2021.07.17 |
[스크랩] Windows에서 make 명령어 설치 및 이용 방법 (0) | 2021.07.02 |
최근댓글