Go에서 크로스 컴파일

내 블로그 서버에서 go로 백그라운드 돌리는걸 만드는데 개발작업은 윈도우에서 만들었고 실제 구동은 Odroid HC1에서 굴려야 해서 여기 정리해둠.

GOOS : 타깃보드OS
GOARCH : 타깃보드 아키텍트

지원리스트는 하단에 표로 정리해움.

//test.go
package main

import "fmt"

func main() {
	fmt.Println("test입니다")
}

간단한 예제 하나를 Odroid HC1용으로 빌드 할려면

//linuxBuild.cmd
set GOOS=linux
set GOARCH=arm
go build test.go

이런 cmd 파일을 하나 만들어준다. 실행하면 test 라는 바이너리 파일이 생기는데 이걸 Odroid에 업로드 하고 실행권한을 주고(755나 700 등등) 실행을 하면 아래와 같은 결과가 나옴

하드커널 Odroid N2의 경우에는 (arm 64비트용)

//linux64Build.cmd
set GOOS=linux
set GOARCH=arm64
go build test.go

 

GOOS와 GOARCH 지원 리스트

$GOOS $GOARCH
aix ppc64
android 386
android amd64
android arm
android arm64
darwin 386
darwin amd64
darwin arm
darwin arm64
dragonfly amd64
freebsd 386
freebsd amd64
freebsd arm
illumos amd64
js wasm
linux 386
linux amd64
linux arm
linux arm64
linux ppc64
linux ppc64le
linux mips
linux mipsle
linux mips64
linux mips64le
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


Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다