मैं वर्तमान में जीसीसी में अपनी परियोजनाओं में से एक को पोर्ट कर रहा हूं, और मैं इसे पूरा करने के लिए मिनीजीडब्ल्यू-डब्ल्यू 64 प्रोजेक्ट का उपयोग कर रहा हूं क्योंकि मुझे x64 और x86 समर्थन दोनों की आवश्यकता है।सी ++ मिनगब्लू-डब्ल्यू 64 और बूस्ट का उपयोग कर पर्यावरण बनाएं। बिल्ड
हालांकि मैंने अपने निर्माण वातावरण को स्थापित करने में कोई समस्या आई है। मेरी परियोजना वर्तमान में बूस्ट सी ++ पुस्तकालयों का उपयोग करती है, और निर्माण प्रक्रिया को आसान बनाने के लिए मैं अपनी परियोजना में बूस्ट.बिल्ड का भी उपयोग करता हूं (क्योंकि यह एकीकरण को सरल बनाता है)।
तहत MSVC इस ठीक है, क्योंकि मैं कमांड लाइन से निम्न कर सकते हैं:, के रूप में 32-बिट और 64-बिट toolchains रखे जाते हैं
b2 toolset=msvc address-model=32 # compile as 32-bit
b2 toolset=msvc address-model=64 # compile as 64-bit
MinGW-W64 इस 'समस्या पैदा करने वाले' बना रही है अलग निर्देशिका में। (सी: \ MinGW32 और सी: क्रमशः \ MinGW64)।
क्या बूस्ट.बिल्ड स्थापित करना संभव है जिससे यह पता-मॉडल ध्वज के आधार पर सही टूलचेन का चयन करेगा? यदि नहीं, तो मेरा अगला सबसे अच्छा विकल्प क्या है?
संपादित करें:
यदि यह मदद करता है, मैं rubenvb 4.6.3-1 में MinGW-W64 वेबसाइट से बनाता उपयोग कर रहा हूँ "व्यक्तिगत बनाता है" फ़ोल्डर (मैं उपयोग कर रहा हूँ इन विशेष रूप से बनाता है मैं करना चाहते हैं के रूप में मेरे कोड को पार्स करने का प्रयास करें - लेकिन संकलित नहीं - क्लैंग के तहत)।
संपादित करें:
एक समाधान मैं बस के बारे में सोचा के लिए 'मैन्युअल' संकलन से पहले सही toolchain को इंगित करने के पथ सेट, लेकिन इस जटिलता के एक अतिरिक्त परत अपने निर्माण की प्रक्रिया के लिए कहते हैं हो सकता है जो मैं था से बचने के लिए। आदर्श रूप से मैं इसे एमएसवीसी के लिए जितना आसान बनाना चाहूंगा, हालांकि मुझे लगता है कि यह संभव नहीं हो सकता है। सबसे बुरे मामले में मुझे लगता है कि मैंने जो सुझाव दिया है वह काम करेगा, और मुझे बूस्ट.बिल्ड का आह्वान करने से पहले पैथ को सही ढंग से सेट करने के लिए स्क्रिप्ट जोड़ना होगा। इसका मतलब यह होगा कि मैं पथ को हार्डकोड करना चाहता हूं, जो मैं नहीं करना चाहता ...
टूलचैन में उपसर्ग जोड़ने के बिना कुछ ऐसा करने का कोई तरीका है? मैं 'डिफ़ॉल्ट' टूलचेन नाम का उपयोग करना चाहता हूं, और पता-मॉडल ध्वज द्वारा 32/64-बिट भाग का पता लगाया गया है। – RaptorFactor
उदा। बी 2 टूलसेट = जीसीसी एड्रेस-मॉडल = 32 – RaptorFactor
मुझे पता नहीं है कि पता-मॉडल स्पष्ट रूप से mingw-gcc के तर्क के रूप में समर्थित नहीं है। क्या मैं पूछ सकता हूं कि आपके मामले में पता-मॉडल = 32 का उपयोग क्यों बेहतर है? – Kristofer