2009-01-30 11 views
29

मैं bjam का उपयोग कर MinGW के लिए बूस्ट (मैं प्रणाली और फ़ाइल सिस्टम का उपयोग कर रहा हूँ) का निर्माण कर रहा हूँ:बिल्डिंग बूस्ट (MinGW)

bjam --toolset=gcc stage 

और यह ठीक बनाता है, लेकिन मैं स्थिर करने में सक्षम होना चाहता हूँ यह (मैं अंतिम उत्पाद के लिए एक एकल फाइल रखने की आवश्यकता) के लिए लिंक तो मैं करने की कोशिश की:

bjam --link=static --toolset=gcc stage 

लेकिन मैं एक ही आउटपुट मिलता है। कोई विचार?

संपादित करें पंक्ति में दूसरा प्रश्न मैंने पोस्ट करने के बाद क्षणों का उत्तर दिया है: अनुमान है कि मैं इसे दूसरों के लिए यहां छोड़ दूंगा।

bjam --build-type=complete --toolset=gcc stage 

दोनों गतिशील और यह सुनिश्चित करें के लिए स्थिर निर्माण करेंगे।

उत्तर

41

मुझे लगता है कि लिंक bjam के विकल्प के विपरीत एक संपत्ति है। इसका मतलब है कि इससे पहले नहीं होना चाहिए।

यह केवल स्थिर पुस्तकालयों (विजुअल C++ हालांकि) के निर्माण के लिए मेरे आदेश पंक्ति है:

bjam install --toolset=msvc variant=release link=static threading=multi runtime-link=static 

मानचित्रण है कि अपने मूल निर्माण आदेश को मैं कहूंगा कि यह कुछ इस तरह दिखना चाहिए:

bjam --toolset=gcc link=static stage 

या शायद:

bjam stage --toolset=gcc link=static 

कोशिश चल

012,
bjam --help 

bjam के लिए गुणों और विकल्पों पर अधिक जानकारी के लिए।

0

मैंने इसे स्वयं को मिनजीडब्ल्यू में नहीं बनाया है, लेकिन मेरा मानना ​​है कि आपका पहला निर्माण गतिशील और स्थैतिक पुस्तकालयों और दूसरे स्थिर स्थिर दोनों को आउटपुट करेगा, इसलिए यदि आपने निर्माण के बीच निर्माण निर्देशिका को साफ़ नहीं किया है तो यह शायद समान दिखाई देगा ।

जब आप लिखते हैं "मेरे पास एक फ़ाइल है ..." क्या आपका मतलब है कि आपको सभी बूस्ट लाइब्रेरी वाले एक पुस्तकालय की आवश्यकता है? यदि ऐसा है, तो मुझे संदेह है कि आपको उन्हें एक साथ 'ar' करना पड़ सकता है।

+0

धन्यवाद "मैं एक ही फाइल रखने की आवश्यकता ..." है कि मैं अपने निष्पादन योग्य है, और कोई DLLs यह के साथ भेज दिया होना आवश्यक है। – Adam

0

मैं दोनों स्थिर जुड़ा हुआ है और साथ ही गतिशील रूप से जुड़े हुए बढ़ावा के संस्करणों का निर्माण करने के लिए निम्न आदेश पंक्ति का उपयोग करें:

bjam "-sBUILD=debug release <runtime-link>static/dynamic <threading>multi" stage 

इस ++ खिड़कियों पर दृश्य ग के साथ किया जाता YMMV।

8

बस ध्यान दें कि नए बूस्ट (फरवरी 2011) के साथ आपको अब भी बीजेएम बनाने की जरूरत है .. किसी कारण से वर्तमान डाउनलोड करने योग्य बीजेएम साफ-सुथरा काम नहीं करता है।

तो सबसे पहले:

cd ...\boost_1_45_0\tools\build\v2\engine\src

build.bat mingw

तुम (नियंत्रण कक्ष से, बस नहीं cmd ​​शीघ्र पर) पथ के लिए bjam जोड़ने की जरूरत है।तब

cd ...\boost_1_45_0\

bjam --build-type=complete --toolset=gcc stage

मेरे सेटअप विस्टा, cmd.exe नहीं msys से 1.45, MinGW 4.5, और निर्माण को बढ़ावा है। जबाब, मैं द्वारा क्या मतलब के लिए

http://code-slim-jim.blogspot.com/2011/02/boost-in-vista-using-mingw-and-cmdexe.html

+0

धन्यवाद! हाल ही में मेरे बूस्ट संस्करण को अपडेट करते समय लापता बीजेएम मुझे आश्चर्यचकित कर रहा था। – Inverse