SORU
28 AĞUSTOS 2012, Salı


Derleme) hadi Cross?

Çapraz derleme) bir uygulama windows ve linux için ikili dosyaları oluşturmak için çalışıyorum. İnternette bulabildiğim her şeyi okudum. En yakın (apart-fındık kadar bitmemiş tartışmalar e-posta listesi) yayınlandı bulduğum örnek:

http://solovyov.net/en/2012/03/09/cross-compiling-go/

henüz benim yüklemede çalışmıyor. Git 1.0.2 var. 1.0.2 oldukça yenidir olarak yukarıdaki örnekler tüm bu sürüm için geçerli değildir bana öyle görünüyor.

Denedim yapmak ./make.bash --no-clean ile ZARF değişkenleri ayarlamak için 386/windows, git de yap, ancak oluşturur gitmek için yükleme hangi darwin/amd64 ve tamamen yok sayıyor nedir set ENV varsayalım oluşturmak için farklı bir derleyici.

Herhangi bir yapılabilir ne varsa hepsi yapılabilir (varsa) öneriyor?

CEVAP
30 AĞUSTOS 2012, PERŞEMBE


Golang-fındık, tarifi nazik ve sabırlı yardımı sayesinde şudur:

1) farklı hedef platformlar ve yapılar için derleyici derleme Gitmek gerekir. Bu yükleme git src klasöründen yapılır. Benim durumumda gidip yükleme /usr/local/go böylece make yardımcı konuya gereken bir derleyici derleme yer almaktadır. Bunu yapmadan önce bazı uyarılar bilmek gerekir.

CGO kitaplığı devre dışı bırakmak için gereklidir, bu yüzden derleme geçerken CGO kütüphane ile ilgili bir sorun vardır.

Derleme bu klasörde derleme yapılması beri dir kaynağı, değişen konuma göre yapılır

cd /usr/local/go/src

sonra derlemek derleyici:

sudo GOOS=windows GOARCH=386 CGO_ENABLED=0 ./make.bash --no-clean

GOOS ve GOARCH parametreleri değiştirerek derleme geçmek istediğiniz her işletim sistemi ve Mimarisi için bu adımı tekrarlayın.

Eğer benim gibi kullanıcı modunda çalışıyorsanız, sudo git derleyici sistemi dir, çünkü gereklidir, aksi halde süper kullanıcı olarak giriş yapmış olmanız gerekir. Mac/SU erişimi (varsayılan olarak mevcut değil) yapılandırmanız gerekebilir, ama eğer gidip yüklemek için yönetilen varsa, büyük olasılıkla zaten root erişimi var.

2) tüm çapraz Derleyiciler yerleşik Sonra, mutlu bir şekilde örneğin ayarları kullanarak uygulama derleme çapraz:

GOOS=windows GOARCH=386 go build -o appname.exe appname.go

GOOS=linux GOARCH=386 CGO_ENABLED=0 go build -o appname.linux appname.go

GOOS değiştirmek ve oluşturmak istediğiniz hedefler için GOARCH.

Sen CGO ile sorunla karşılaşırsanız 0=CGO_ENABLED komut satırında vardır, ayrıca linux ve mac için ikili dosyaları farklı bir dosya daha olması için uzantısı ekleyebilirsiniz böylece hiç bir uzantısı olduğunu unutmayın. -o anahtarı çıkış c için eski Derleyiciler için benzer bir dosya yapmak bildirir/c, bu da yukarıdaki appname kullanılan.linux başka bir uzantısı olabilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Justin Case

    Justin Case

    3 EKİM 2011
  • Matt Harding

    Matt Harding

    23 Mayıs 2006
  • SaMmM123

    SaMmM123

    3 Mayıs 2006