크로스오버 컴파일 Go 프로그램

1683 단어 Go교차 컴파일
전언
Go는 교차 컴파일을 지원합니다.Ubuntu에서 개발되어 Windows에서 실행할 수 있는 프로그램으로 컴파일되며 32비트 또는 64비트 사이로 변환될 수 있습니다.
대상 플랫폼의 패키지 및 도구 생성
Go는 서로 다른 플랫폼과 구조에 필요한 패키지와 도구를 제공하지만 Go를 설치할 때 기본적으로 현재 플랫폼에 필요한 패키지와 도구만 컴파일합니다.그래서 목표 플랫폼의 패키지와 도구를 컴파일해야 한다.
#    GOROOT    src   
cd GOROOT/src
#     Windows 64          
CGO_ENABLED=0 GOOS= windows GOARCH= amd64 ./make.bash
#      ,
#  GOROOT/bin        windows_amd64   ,             
cd GOROOT/bin/windows_amd64/ && ls
#  GOROOT/pkg        windows_amd64   ,            
#      :    + "_" +    
cd GOROOT/pkg/windows_amd64 && ls  

모든 플랫폼의 패키지와 도구를 대량으로 생성합니다
모든 지원 플랫폼의 패키지와 도구를 생성하려면 위에서 설명한 방법을 참조하여 각각 GOOSGOARCH의 값을 순서대로 생성하는 방법이 있다.또는 Github의 Golang-crosscompile 도구를 사용합니다.
git clone git://github.com/davecheney/golang-crosscompile.git  
git clone git://github.com/davecheney/golang-crosscompile.git  
#  
source golang-crosscompile/crosscompile.bash  
#             
go-crosscompile-build-all

이 공구를 나는 참고하도록 시험해 본 적이 없다.자세한 내용은 저자 블로그를 참조하십시오.
확인
#           ,        hello.exe
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build hello.go 
#        `hello.exe `             .

제공: 플랫폼별 GOOSGOARCH 옵션
OS      ARCH            OS version
linux   386/amd64/arm   >= Linux 2.6
darwin  386/amd64       OS X (Snow Leopard + Lion)
freebsd 386/amd64       >= FreeBSD 7
windows 386/amd64       >= Windows 2000

참조 문서
  • An introduction to cross compilation with Go
  • 어떻게 32비트linux에서 교차 컴파일을 합니까?
  • 크로스플랫폼 컴파일 Go 프로그램
  • 좋은 웹페이지 즐겨찾기