2013-05-14 11 views
16

Zakodowałem program Go w 64-bitowym systemie, ale chcę skompilować 32-bitową wersję binarną! Jak mogę to zrobić? 64-bitowy plik binarny działa doskonale, ale nie mam pojęcia, jak utworzyć 32-bitowy plik binarny. Byłbym bardzo wdzięczny, gdyby ktoś mógł mi w tym pomóc!Skompiluj 32-bitową wersję binarną w systemie 64-bitowym

Z góry dziękuję!

PS: Używam systemu operacyjnego Windows.

+0

Jakiego IDE używasz? –

+0

Nie używam żadnego IDE. Tylko edytor tekstu i wiersz poleceń. W każdym razie, czy możliwe jest skompilowanie kodu go w VS? – pluralism

+1

Spróbuj użyć zmiennej środowiskowej GOARCH, jak tutaj opisano: http://stackoverflow.com/questions/7786492/how-do-you-build-the-8g-and-6g-go-compilers-for-go –

Odpowiedz

16

Jeśli zbudowałeś swoje urządzenie Go ze źródła, możesz zbudować dodatkowe kompilatory i biblioteki dla dowolnego procesora i systemu operacyjnego. Jeśli jesteś na Windows/amd64 i chcą budować dla Windows/386, to będzie zbudować wszystko, czego potrzeba do przygotowania dla Windows/386:

set GOARCH=386 
cd %GOROOT%\src 
make.bat --no-clean 

Gdy już to zrobisz, możesz zbudować swoje okna/386 wykonywalny z:

set GOARCH=386 
cd %YOUR_PROG_DIR% 
go build 

Skoro jesteś na Windows/amd64, powinieneś być w stanie nawet uruchomić/przetestować Windows/386 programy też. Przed wywołaniem jakichkolwiek poleceń dla systemu Windows/386 upewnij się, że jest to set GOARCH=386.

Jedno zastrzeżenie: to nie obsługuje cgo, więc nie można używać pakietów, które używają cgo.

+1

Jeśli uruchomisz "go build -a "zamiast tego, czy nadal musisz uruchomić" make.bat "wewnątrz katalogu GOROOT? – noj

+0

@noj Nie mam jasności co do twojego pytania? Ale uruchamiasz make.bat raz, aby zbudować wszystkie kompilatory i standardowe pakiety. Po tym możesz po prostu z nich korzystać. – alex

+0

'make.bat' to stara wersja 1.4 ... jak zrobić czystą do nowej wersji 1.8.3? – KingRider

3

OK, w końcu rozwiązałem problem! Oto jak to zrobiłem (nędznie zawiodłem!).

Pierwszą rzeczą, którą zrobiłem, było pobranie GCC z http://www.mingw.org/. Następnie dodaj C: \ MinGW \ bin do zmiennej środowiskowej PATH (Zakładam, że MinGW jest zainstalowany w C: \ MinGw) Następną rzeczą przed uruchomieniem instalacji go/go jest ustawienie zmiennych środowiskowych. Otwórz wiersz polecenia i przejdź do C: \ Go \ src i uruchom plik all.bat z wiersza poleceń. Następnie musisz ustawić GOOS, GOARCH i CGO_ENABLED na windows, odpowiednio 386 i 0! (Powinieneś także ustawić GOPATH na ścieżce, w której znajduje się twój bieżący projekt Go). Następnie uruchom make.bat i make.bat --no-clean Po tym możesz zbudować swój projekt dla systemów 32-bitowych! Mam nadzieję, że to będzie pomocne!

6

sposób mam to osiągnąć (bez kompilacji kompilatora) na moim Windows 7 64 bit PC po raz pierwszy mający okna amd64 zainstalowany, a następnie download 32bit zip i rozpakować do drugiego folderu:

\go\go32 
\go\go64 

wówczas regulację PATH i GOROOT wewnątrz mojego okna wiersza polecenia w następujący sposób:

set PATH=\go\go32;%PATH% 
set GOROOT=\go\go32\ 

potem wrócił i rekompilacji moją aplikację, która została wcześniej kompilacji przy użyciu 64-bitowych. Wszystko to można ustawić w partii, jeśli chcesz przełączać się regularnie.

+0

Pracowałem dla mnie, ale musiałem ustawić ścieżkę do folderu go32 \ BIN. – user3523091

Powiązane problemy