2011-08-04 9 views
6

की आवश्यकता है, इसलिए मुझे पता है कि बूस्ट लाइब्रेरी मुख्य रूप से केवल हेडर-केवल हैं, लेकिन कुछ ऐसे हैं जिन्हें संकलन की आवश्यकता होती है, उदाहरण के लिए बूस्ट। थ्रेड। डार्विन में, मैं इन्हें कैसे संकलित करता हूं और -एम 32 ध्वज पास करता हूं ताकि उन्हें 32-बिट (i386) बाइनरी में संकलित किया जा सके? यह जमरूट चीज है जिसे मैंने कभी नहीं सुना है और मुझे यकीन नहीं है कि कहां से शुरू करना है।पुस्तकालयों को बढ़ावा देने के लिए कंपाइलर झंडे पास करना (जैसे थ्रेड) जिसके लिए संकलन

स्पष्टीकरण: मैं नहीं पूछ रहा हूं कि एमएम फ्लैग के साथ प्रोग्राम को कैसे संकलित करें और बूस्ट लाइब्रेरीज़ का उपयोग करें। मैं पूछ रहा हूं कि बूस्ट पुस्तकालयों को स्वयं -एम 32 ध्वज के साथ कैसे संकलित करना है।

+0

http://www.boost.org/doc/libs/1_47_0/more/getting_started/unix-variants.html – Arunmu

+0

-1 आधिकारिक प्रारंभिक दस्तावेज़ीकरण को पढ़ने के लिए, क्षमा करें। –

+0

@ अरुणमु, हाँ मुझे पता है, मैंने वह पृष्ठ देखा है। यह मेरे प्रश्न का उत्तर नहीं देता है। कुछ झंडे हैं जिन्हें आप बी 2 में पास कर सकते हैं, लेकिन उनमें से कोई भी आपको आर्किटेक्चर बदलने की अनुमति नहीं देता है। मैंने जमैरोट फ़ाइल को देखने की कोशिश की लेकिन मैं इस तरह कंपाइलर झंडे निर्दिष्ट करने के लिए कहीं भी नहीं देख सका। – eeeeaaii

उत्तर

5

निर्दिष्ट करने के लिए कि किस आर्किटेक्चर को संकलित करना है, architecture सुविधा बी 2 का आह्वान करते समय निर्दिष्ट करें।

संकलक विकल्पों को निर्दिष्ट करने के लिए जिनके पास पहले से ही अंतर्निहित सुविधाएं नहीं हैं, बी 2 का आह्वान करते समय cxxflags सुविधा निर्दिष्ट करें।

लिंकर विकल्पों को निर्दिष्ट करने के लिए जिनके पास पहले से ही अंतर्निहित सुविधाएं नहीं हैं, बी 2 का आह्वान करते समय linkflags सुविधा निर्दिष्ट करें।

इनमें से सभी the Boost.Build docs में सूचीबद्ध हैं।

+2

धन्यवाद। तथ्य यह है कि मुझे अंत में पता चला कि बी 2 और बीजेएएम वास्तव में यहां मदद की गई हैं - मैंने इसकी पुष्टि करने के लिए diff का उपयोग किया। निष्पादन योग्य के दो समान संस्करण क्यों हैं, जिनमें से एक लगभग पूरी तरह से अनियंत्रित (बी 2) है? वह मेरे किसी मतलब का नहीं है। आधिकारिक दस्तावेज़ वास्तव में मेरे लिए पार्स करना मुश्किल थे - इससे अधिक समझ में आया: http://www.highscore.de/cpp/boostbuild/। आपकी मदद के लिए भी धन्यवाद। – eeeeaaii

+0

@eeeeaiaii: 'b2' 'bjam' के लिए नया आधिकारिक नाम है। यानी, वे एक और एक हैं, लेकिन नाम 'bjam' अब अप्रचलित है। – ildjarn

+1

क्या? - कोई आश्चर्य नहीं कि मैं पिछले दो महीनों से इतनी उलझन में था! – meowsqueak

1

जो मैं समझता हूं उससे, और अगर मैं सही ढंग से दस्तावेज पढ़ता हूं, तो बढ़ावा देने के लिए एक विशेष आर्किटेक्चर बनाने का तरीका बी 2 के लिए "पता-मॉडल = xx" विकल्प के साथ है।

उदाहरण:

b2 install toolSET=msvc-9.0 link=shared variant=release address-model=64 

या

b2 install toolSET=msvc-9.0 link=shared variant=release address-model=32 

आशा है कि मदद करता है।

सादर,

-RMWChaos

संपादित करें: एक और इसलिए एक ही जवाब here प्रदान थ्रेड मिले।

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