2008-11-19 12 views
44

मैंने कई बार x86 बूस्ट पुस्तकालयों का निर्माण किया है, लेकिन मैं x64 पुस्तकालयों का निर्माण नहीं कर सकता। मैं "दृश्य स्टूडियो 2005 x64 क्रॉस उपकरण शीघ्र कमांड" शुरू और मेरी हमेशा की तरह निर्माण चलाएँ:आप विंडोज़ पर x64 बूस्ट लाइब्रेरी कैसे बनाते हैं?

bjam --toolset=msvc --build-type=complete --build-dir=c:\build install 

लेकिन यह अभी भी 86 उदारीकरण फ़ाइलें (मैं DUMPBIN/हेडर के साथ इस सत्यापित) पैदा करता है। मैं क्या गलत कर रहा हूँ?

उत्तर

57

आपको address-model=64 पैरामीटर जोड़ने की आवश्यकता है।

उदाहरण देखें here

+2

यह जवाब भी नए बढ़ावा निर्माण उपकरण, 'b2' लिए मान्य है। – anderas

+2

क्या आप इसे समझा सकते हैं? सी: \ बूस्ट \ boost_1_61_0>। \ B2 --stagedir = lib \ x64 आर्किटेक्चर = x86 पता-मॉडल = 64 लिंक = स्थिर - बिल्ड-प्रकार = पूर्ण चरण कॉन्फ़िगरेशन जांच प्रदर्शन - 32-बिट: हाँ – stu

2

स्वीकार किए जाते हैं जवाब सही है। अगर कोई और इस जवाब को गुगल करता है तो इसे जोड़ना और अभी भी x64 संस्करण उत्पन्न करने में विफल रहता है।

वीएस 15 2017 सामुदायिक संस्करण पर बूस्ट 1.63 बनाने के लिए मुझे क्या करना है।

वीएस पर्यावरण cmd खोल से निष्पादित आदेश। उपकरण -> दृश्य स्टूडियो कमान देने के लिए प्रेरित

C:\Work\Boost_1_63> C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat amd64 
C:\Work\Boost_1_63> bootstrap.bat C:\Work\Boost_1_63> bjam -j4 architecture=x86 address-model=64 link=static stage 
C:\Work\Boost_1_63> bjam --prefix=C:\opt\boost architecture=x86 address-model=64 link=static install 

आप सत्यापित कर सकते हैं कि जिसके परिणामस्वरूप उदारीकरण DUMPBIN साथ 64 है:

C:\Work> dumpbin /headers C:\work\boost_1_63\stage\lib\libboost_locale-vc140-mt-1_63.lib | findstr machine 
8664 machine (x64) 
8664 machine (x64) 
8664 machine (x64) 
8664 machine (x64) ... 
संबंधित मुद्दे