강좌 & 팁
글 수 2,412
2015.06.28 23:18:24 (*.37.214.57)
51642
구글의 go 언어는 c 처럼 컴파일되는 언어이고 범용으로 사용 하기 위해 만들어진 언어 입니다.
arm cpu 에서 동작되는 프로그램을 만든다면 당연히 크로스컴파일러가 있어야 겠지요.
go git 클론을 만듭니다.
sst]#hg clone http://code.google.com/p/go
→ 한참 걸림.
설치 합니다.
sst]# cd go/src
sst]#./all.bash
→ go 컴파일러 모든 기능을 설치 하는 듯.
그럼 마지막에 아래와 같은 메시지가 나온다.
Installed Go for linux/amd64 in /staff/go/go_cross/go
Installed commands in /staff/go/go_cross/go/bin
*** You need to add /staff/go/go_cross/go/bin to your PATH.
위 경로를 아래와같이 path 에 추가 합니다.
]# vi ~/.bashrc
PATH=$PATH:/staff/go/go_cross/go/bin
설치된 곳으로 이동합니다.
root@r2adve:golang-crosscompile-master]# pwd
/staff/go/go_cross/golang-crosscompile-master
crosscompile.bash 를 실행 해 줍니다.
root@r2adve:golang-crosscompile-master]# source crosscompile.bash
이제 컴파일러가 잘 설치 되었는지 확인 해 보겠습니다.
root@r2adve:golang-crosscompile-master]# go
go go-freebsd-arm gofmt
go-all go-linux-386 golang-go
go-build-all go-linux-amd64 gold
go-crosscompile-build go-linux-arm google-chrome
go-crosscompile-build-all go-openbsd-386 google-chrome-stable
go-darwin-386 go-openbsd-amd64 google-earth
go-darwin-amd64 go-windows-386 gouldtoppm
go-freebsd-386 go-windows-amd64
go-freebsd-amd64 gobject-query
root@r2adve:golang-crosscompile-master]# go
-->go-linux-arm이 설치 된 것이 확인 되었습니다.
예제를 하나 컴파일 해 보겠습니다.
root@r2adve:test]# go-linux-arm build hellow.go
root@r2adve:test]#
root@r2adve:test]# ls
hellow hellow.go var.go
root@r2adve:test]#
크로스컴파일된 hellow 파일이 보이는 군요.
이 실행 파일을 em-s5pv210 모듈에서 실행해 보니 잘 동작 되었습니다.