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
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.
#ifdef vs #etkinleştirilmesi/kod belir...
Could not load bağımlılıkları dosya ve...
Visual Studio derleme hatası düzeltme,...
Nasıl Raylar Varlık Boru hattı derleme...
Neden hata "ölümcül LNK1104: cann...