2013-05-14 6 views
16

मैंने 64 बिट सिस्टम में एक गो प्रोग्राम को कोड किया है लेकिन मैं 32 बिट बाइनरी संकलित करना चाहता हूं! मैं यह कैसे कर सकता हूं? 64 बिट बाइनरी बहुत अच्छा काम कर रहा है लेकिन मुझे नहीं पता कि 32 बिट बाइनरी कैसे बनाएं। अगर कोई इस पर मेरी मदद कर सकता है तो मैं बहुत आभारी हूं!64 बिट सिस्टम पर 32 बिट बाइनरी संकलित करें

अग्रिम धन्यवाद!

पीएस: मैं विंडोज ओएस का उपयोग कर रहा हूं।

+0

आप किस आईडीई का उपयोग कर रहे हैं? –

+0

मैं किसी भी आईडीई का उपयोग नहीं कर रहा हूं। बस एक पाठ संपादक और कमांड लाइन। वैसे भी, वीएस में कोड कोड संकलित करना संभव है? – pluralism

+1

यहां विस्तृत विवरण के रूप में गोचर पर्यावरण चर का उपयोग करने का प्रयास करें: http://stackoverflow.com/questions/7786492/how-do-you-build-the-8g-and-6g-go-compilers-for-go –

उत्तर

16

यदि आपने स्रोत से अपना गो बनाया है, तो आप किसी भी CPU और OS के लिए कोई अतिरिक्त कंपाइलर और लाइब्रेरी बना सकते हैं। आप विंडोज/amd64 पर हैं और खिड़कियों/386 के लिए का निर्माण करना चाहते हैं, तो इस सब कुछ का निर्माण करेगा आप के लिए संकलन करने की जरूरत विंडोज़/386:

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

एक बार जब आप किया है कि, आप अपने विंडोज़ का निर्माण कर सकते/386 निष्पादन के साथ:

set GOARCH=386 
cd %YOUR_PROG_DIR% 
go build 

जब से तुम खिड़कियों/amd64 पर कर रहे हैं, आप भी चलाते हैं/अपने विंडोज़/386 कार्यक्रमों का परीक्षण भी करने के लिए सक्षम होना चाहिए। विंडोज/386 के लिए किसी भी कमांड का आह्वान करने से पहले बस set GOARCH=386 पर सुनिश्चित करें।

एक चेतावनी: यह cgo का समर्थन नहीं करता है, इसलिए आप cgo का उपयोग करने वाले किसी भी पैकेज का उपयोग नहीं कर सकते हैं।

+1

यदि आप "चलाते हैं build -a "इसके बजाय, क्या आपको अभी भी GOROOT निर्देशिका के अंदर" make.bat "चलाने की आवश्यकता है? – noj

+0

@noj मैं आपके प्रश्न के बारे में स्पष्ट नहीं हूं? लेकिन आप सभी कंपाइलर और मानक पैकेज बनाने के लिए एक बार make.bat चलाते हैं। उसके बाद आप उनका उपयोग कर सकते हैं। – alex

+0

'make.bat' पुराना संस्करण 1.4 है ... नए संस्करण 1.8.3 को कैसे साफ करें? – KingRider

3

ठीक है, मैंने अंत में समस्या हल कर ली है! यहां मैंने यह किया है (मैं वास्तव में वास्तव में विफल रहा था!)।

पहली बात मैंने जीसीसी को http://www.mingw.org/ से डाउनलोड करना था। अगला PATH पर्यावरण चर में C: \ MinGW \ bin जोड़ें (मुझे लगता है कि MinGW C: \ MinGw में स्थापित है) चलने से पहले अगली चीज़/go install इंस्टॉल करने के लिए वातावरण चर सेट करना है। कमांड प्रॉम्प्ट खोलें और सी: \ Go \ src पर जाएं और कमांड लाइन से all.bat चलाएं। फिर आपको क्रमशः विंडोज़, 386 और 0 पर गोस, खोज और CGO_ENABLED सेट करना होगा! (आपको उस मार्ग पर GOPATH भी सेट करना चाहिए जहां आपका वर्तमान गो प्रोजेक्ट है)। अगला रन make.bat और make.bat --no-clean इसके बाद आप 32 बिट सिस्टम के लिए अपनी प्रोजेक्ट बना सकते हैं! मुझे आशा है कि यह मददगार है!

6

तरह से मैं अपने विंडोज 7 64 बिट पीसी पहले खिड़कियों हो रही थी पर (संकलक के किसी भी संकलन के बिना) इस हासिल किया स्थापित AMD64 download 32bit जिप तो, और एक दूसरे फ़ोल्डर में खोल:

\go\go32 
\go\go64 

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

तो मैं वापस चला गया और है कि पहले 64 बिट का उपयोग कर संकलन किया गया था मेरे ऐप कंपाइल: तो PATH और GOROOT मेरे आदेश संकेत विंडो के अंदर का समायोजन इस प्रकार से। यदि आप नियमित रूप से स्विच करना चाहते हैं तो यह सब बैच में स्थापित किया जा सकता है।

+0

मेरे लिए काम किया, लेकिन मुझे go32 \ BIN फ़ोल्डर में पथ सेट करना पड़ा। – user3523091

संबंधित मुद्दे