2009-10-22 16 views
9

मुझे अपने मैकबुक प्रो (मैक ओएस एक्स 10.6 के साथ) पर अन्यथा उत्कृष्ट Contiki OS संकलित करने में बहुत परेशानी हो रही है। कंटिकी वास्तव में जीसीसीयू-विशिष्ट विशेषताओं और जीसीसी, एआर, एलडी, आदि के विकल्पों का उपयोग करता है। तो मैंने मैकपोर्ट्स के माध्यम से उन उपयोगिताओं को स्थापित किया, लेकिन ऐसा लगता है कि "पोर्ट इंस्टॉल बिनटिल्स" जीएनयू एलडी स्थापित नहीं करता है, है ना?मैक ओएस एक्स 10.6 पर gnu ld कैसे स्थापित करें?

तो सवाल यह है कि, मैं अपने मैक पर जीएनयू एलडी कैसे प्राप्त करूं? क्या कड़ी मेहनत के लिए एक आसान विकल्प है (यानी wget, configure, make, make install रास्ता)?

+0

"कठिन" तरीका कठिन नहीं है ... (जब तक कि कुछ गलत नहीं हो जाता) –

+0

निश्चित; लेकिन इस मामले में मुझे बहुत संदेह है कि मैकपोर्ट के मुकाबले बेहतर परिणाम मिलेगा (क्योंकि मैकपोर्ट * * "wget ​​&& config && make" चीज करता है) – Gyom

+0

संबंधित: http://stackoverflow.com/questions/23290431/ld -लिंकिंग-त्रुटि-जबकि-संकलन-जे 3 –

उत्तर

10

जहां तक ​​मैं कह सकता हूं, जीएनयू binutils Mach-O प्रारूप का समर्थन नहीं करता है। documentation में से कोई भी इसका उल्लेख नहीं करता है, और कुछ गूगलिंग कुछ recent messages बदलते हैं जो दर्शाते हैं कि यह समर्थित नहीं है।

अब, आप कंटिकी ओएस का उल्लेख करते हैं, जो मुझे एक एम्बेडेड ऑपरेटिंग सिस्टम की तरह दिखता है। क्या आपको किसी मूल निष्पादन योग्य को संकलित करने की आवश्यकता है, या आप किसी अन्य वातावरण के लिए क्रॉस-संकलन करने की कोशिश कर रहे हैं? मैकपोर्ट्स में क्रॉस संकलन के लिए several ports of binutils शामिल है।

+0

वास्तव में; मेरा दीर्घकालिक लक्ष्य निश्चित रूप से क्रॉस-संकलन करना है। लेकिन पहले मैं प्रोग्रामिंग मॉडल से परिचित होने के लिए "मूल मंच" लक्ष्य का प्रयास करना चाहता था। हालांकि यह "मूल" का अर्थ है "मूल" का अर्थ है "जीएनयू/लिनक्स" और केवल "जीएनयू/लिनक्स" :-( – Gyom

+0

ऐसा लगता है कि आप सही हैं; उन्हें एक जीएनयू टूलचेन की आवश्यकता होती है, जिसका आमतौर पर लिनक्स या सिगविन का अर्थ होता है। आप हमेशा वर्चुअल मशीन पर लिनक्स इंस्टॉल कर सकते हैं। वर्चुअलबॉक्स वीएम http: //www.virtualbox पर मुझे उबंटू सर्वर संस्करण स्थापित करना अच्छा है (क्योंकि यह डेस्कटॉप संस्करण की तुलना में हल्का वजन है, सभी डेस्कटॉप सॉफ़्टवेयर समेत नहीं)। ओआरजी/एक त्वरित और आसान मुफ्त लिनक्स वीएम के लिए। –

+0

हाँ, आपकी मदद के लिए धन्यवाद। अब मैं वर्चुअलबॉक्स में डेबियन के साथ खेलना शुरू कर रहा हूं। आखिरकार, यह शायद लिनक्स पर्यावरण के साथ भी अच्छा होगा। – Gyom

2
 
$ port info binutils 
(…) Tools are prefixed with g to avoid conflicts with original tools. (…) 
+0

निश्चित रूप से, लेकिन: % ls/opt/local/var/macports/software/binutils/2.19_0/opt/स्थानीय/बिन gaddr2line \t जीएनएम \t \t granlib \t \t gstrings gar \t \t gobjcopy \t greadelf gstrip जीसी ++ filt \t gobjdump \t gsize – Gyom

+0

% ls/opt/local/bin/gld ls:/opt/local/bin/gld: ऐसी कोई फ़ाइल या निर्देशिका – Gyom

+1

लंबी कहानी छोटी नहीं है, सबकुछ वहां है * लेकिन * ld, इसलिए मेरा प्रश्न है। – Gyom

0

आम तौर पर आप सीधे जीसीसी या जी ++ से लिंक कर सकते हैं और जीएलडी की आवश्यकता नहीं है। संकलक को इंगित करने के लिए एलडी सेट करने का प्रयास करें और देखें कि यह आपके लिए लिंक नहीं है या नहीं।

+2

सुनिश्चित करें; "gcc -l" सीधे आपके लिए/usr/bin/ld का आह्वान करेगा :-) – Gyom

+0

वैसे यह अपेक्षाकृत कम उपयोगी है ... –

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