Go derleyicisi Windows'a kurulabilir mi?


94

Bir Windows derleyici için golang.org'a bakıyordum ama bulamıyorum. Yalnızca Linux ve OS X derleyicilerini görebiliyorum. Go programlamasının Windows'ta yapılıp yapılamayacağını bilen var mı, yoksa Google'ın henüz uygulamadığı bir şey mi?

Güncelleme: şu andan itibaren (Kasım 2012) golang.org'un 32 / x86_64 pencereleri için resmi ikili sürümleri olduğu görülmektedir.


groups.google.com/group/golang-nuts - cevabınızı orada bulacaksınız.
kar

2
Windows'ta bazı tahribatsız Go programlamalarını denemek istiyorsanız gofmt.com/compile.html . Programlarınızı derleyebilir, bağlayabilir ve çalıştırabilir ve size çıktıyı gösterebilir. Bu sitede herhangi bir güvenlik açığı bulursanız lütfen bana özel bir mesaj gönderin. Teşekkürler!
Randy Sugianto 'Yuku'

Güncelleme: erGo derleyicisi bu hafta beta testi için yayınlandı. Geliştirici Russel Newquist aşağıdaki yorumlarda cevap verdi. newquistsolutions.com/ergo
nathan

4
Bu soruyu konu dışı olarak kapatmaya oy veriyorum çünkü golang.org web sitesi ilk resmi (1.0) sürümünden bu yana resmi pencere paketleri sunuyor.
icza

Yanıtlar:


54

Artık Windows için yükleyiciler var, Windows altında git bölümüne bakın

HelloWorld.go

package main

func main() {
    println("Hello World!");
}

İle derleyin 8g, bağlantı kurun 8lve ardından çalıştırın. Misal:

8g HelloWorld.go
8l -o HelloWorld.exe HelloWorld.8
HelloWorld

Go'nun başka bir Win32 yapısı (2010-08-04 yayınlandı): code.google.com/p/gomingw/downloads/list
Kolo32

Maalesef bu bağlantı noktasının düzgün çalışmasını sağlayamıyorum. 8l bağlayıcı her zaman runtime.a eksikliğinden şikayet eder ve ayrıca çağırmadan kısa bir süre sonra çöker.
greatwolf

1
@Victor: Bunu yeni kurdum (2010-12-11'de) ve HelloWorld, PrimeSieve ve Wiki örneklerini derlemek ve bağlamak için iyi çalışıyor. Ve üç programın tümü çalışır.
Lawrence Dol

1
Mingw bağlantı noktası, herhangi bir özel ortamın ( code.google.com/p/gomingw/downloads/list ) kurulmasına gerek kalmadan çalışıyor gibi görünüyor . En azından denediğim birkaç örneği derleyip birleştiriyor.
Lawrence Dol

1
Güzel ve faydalı yanıt için Jonas'a teşekkürler.
bhadra

23

Henüz Go Lang SSS'ye girmedi, ancak değişiklik günlüğünden :

Go neden Windows'ta çalışmıyor? Dünyadaki bilgisayarların önemli bir kısmının Windows çalıştırdığını ve bu bilgisayarların Go programlarını çalıştırmasının harika olacağını biliyoruz. Ancak, Go ekibi küçük ve şu anda bir Windows bağlantı noktası yapacak kaynaklara sahip değiliz. Windows sürümünü geliştirmek isteyen herkese soruları yanıtlamak ve tavsiyelerde bulunmaktan fazlasıyla istekli olacağız.


6
Bu cevap büyük ölçüde olumlu oylansa da, artık güncel değil.


7

Go'nun yalnızca iki günlük olduğu gerçeğine rağmen, bu soru zaten Go posta listesinde bir SSS haline geldi. (Maalesef, web sitesindeki SSS listesine henüz eklenmedi.)

Temel olarak, Go çok küçük bir grup insan tarafından yapılır, bu nedenle Windows bağlantı noktası yapacak zamana veya kaynağa sahip değillerdir. Bu çok küçük insan grubu aynı zamanda Unix'i icat edenler de oluyor, bu yüzden bu doğal bir ilk hedefti.


AFAIK, Go'yu tam zamanlı değil% 20 zamanlarında geliştirirler. (Zaten okudum da öyle.) Her neyse, cevabımın çok büyük bir dil-çok derin yanak olması gerekiyordu.
Jörg W Mittag

2
Aslında tarih sayfası, bir boş zaman projesi olarak başlarken, şu anda en azından bazı geliştiriciler için tam zamanlı bir proje olduğunu belirtiyor. Yanıtı, yarı zamanlı kısıtlamalarla ilgili açıklamaları temelde kaldırmak için düzenledim.
Jörg W Mittag

Ve bunun için size oy veriyorum :)
OscarRyz

Unix'i onlar mı icat ettiler? Yani bu bir emeklilik projesi mi?
Henk Holterman

10
Unix'in halefi olan Plan9'u da icat ettiler. Ve Plan9'un halefi Inferno. Ve C. Ve Inferno'nun yazıldığı çöp toplama sistemleri programlama dili Limbo. (Yani, bir anlamda C'nin halefi ve Go'nun öncülü.) Ve Newsqueak eşzamanlı programlama dili (ayrıca bir anlamda Go'nun öncülü, özellikle Goroutinler.) Ve Limbo, Inferno'da ve ayrıca bazı Standart ML uygulamalarında kullanılan Çok Eş Zamanlı Çöp Toplayıcı. Ve UTF-8. Yani, Unix ve Go arasındaki 40 yıldır meşgul olmadıkları gibi değil.
Jörg W Mittag

3

Yani, benim gibi, çoğu zaman Windows'taysanız ve şu anda biraz Go programlama yapmak istiyorsanız, bunu bir VM'de yapabilirsiniz. Görünmeyen modda Ubuntu çalıştıran VirtualBox kullanıyorum. Bunu zaten kurdum çünkü birçok şey için Linux'u Windows'tan daha çok seviyorum.

Go ile çalışmak ve oluşturmak benim için tamamen acısız oldu. Yapımı çalıştırmak ve uygulamamı denemek için bir terminalde açık bir Bash var. Kaynak dizin, Windows ve Linux arasında paylaşılan bir klasördür (bir VirtualBox özelliği, ancak VMWare'in aynı şeye sahip olduğundan eminim). Kodumu Windows'taki Komodo Edit'de düzenliyorum ve her iki işletim sisteminde de aynı kaynak kodu için Mercurial kullanıyorum.


Yukarıda önerildiği gibi, Windows makinesinde (virtualbox ile) ubuntu aldım ve sonra gittim.
user132797

3

Henüz değil.

Go'nun yazarlarının Windows dışı işletim sistemlerinde çok çok derin kökleri vardır (Trivia: bunlardan en az UNIX işletim sisteminden daha azını yaratan)

Bu nedenle, yakın zamanda onlardan bir Windows bağlantı noktası almayı beklemeyin.

Dil açık kaynak kodludur, bu yüzden bir Windows uygulaması için sadece bir zaman meselesi olacaktır (6-8 ehrm ay arasında yapın).


2
Boş zamanlarında derleyiciyi yazan bir Unix yazarı ile "bir Windows bağlantı noktası beklemeyin" arasındaki bağlantınız, değişiklik günlüğünde (mbarnett'in cevabına bakın) bunun sadece kaynaklara sahip olmadıkları için gösterdikleri göz önüne alındığında ilginçtir. .
Jed Smith

2
"Umurumda değil" için başka bir (yumuşak) ifade.
ttvd

1
Evet, Linus'un Windows için bir git portu oluşturması gibi. Bu asla olmayacak (bağlantı noktası başkaları tarafından oluşturuluyor)
OscarRyz

0

Şu anda Windows sürümü olmamasına rağmen, muhtemelen bir Windows platformunda Cygwin kullanılarak derlenebilir .


1
Cygwin altında çok sayıda yeniden çalışma ile derleyebilirsiniz, ancak o zaman bile, yerel bir Windows ikili dosyası değil, ELF çıkaran bir 6g / 8g derleyici elde edersiniz. Ancak bu yine de iyi bir ilk adım olacaktır. code.google.com/p/golang-on-cygwin Derlemeler başarılı olduktan sonra, bir sonraki adım, Windows çalıştırılabilir kodu oluşturmak için derleyiciyi düzeltmek olacaktır.
Alan S


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.