c++ - विजुअल स्टूडियो 2010 में बूस्ट का उपयोग कैसे करें




visual-studio-2010 boost (9)

विजुअल स्टूडियो 2010 में एक खाली प्रोजेक्ट में बूस्ट लाइब्रेरी का उपयोग करने के तरीके पर कदम स्पष्टीकरण के द्वारा एक अच्छा कदम क्या है?


आप तर्क के रूप में -j% NUMBER_OF_PROCESSORS% को भी कोशिश कर सकते हैं, यह आपके सभी कोर का उपयोग करेगा। मेरे क्वाड कोर पर चीजें सुपर फास्ट बनाता है।


इसके अलावा एक छोटा सा नोट: यदि आप संकलन-समय को कम करना चाहते हैं, तो आप ध्वज जोड़ सकते हैं

-j2

एक ही समय में दो समानांतर निर्माण चलाने के लिए। यह एक फिल्म देखने के लिए इसे कम कर सकता है;)


केटीसी के बहुत ही जानकारीपूर्ण मुख्य उत्तर में एक छोटा सा जोड़ा:

यदि आप मुफ्त विजुअल स्टूडियो सी ++ 2010 एक्सप्रेस का उपयोग कर रहे हैं, और 64-बिट्स बाइनरी संकलित करने के लिए इसे प्राप्त करने में कामयाब रहे हैं, और अब बूस्ट लिबररीज़ के 64-बिट संस्करण का उपयोग करने के लिए इसका उपयोग करना चाहते हैं, तो आप 32- बिट्स लाइब्रेरीज़ (आपका माइलेज निश्चित रूप से भिन्न हो सकता है, लेकिन मेरी मशीन पर यह दुखद मामला है)।

मैं इसे निम्न का उपयोग करके ठीक कर सकता हूं: ऊपर वर्णित चरणों के बीच में

  1. 32-बिट एमएसवीसी कमांड प्रॉम्प्ट प्रारंभ करें और उस निर्देशिका में बदलें जहां बूस्ट को अनजिप किया गया था।
  2. रन: बूटस्ट्रैप

मैंने पर्यावरण सेट करने के लिए 'setenv' पर एक कॉल डाला। एक रिलीज निर्माण के लिए, उपर्युक्त कदम बन जाते हैं:

  1. 32-बिट एमएसवीसी कमांड प्रॉम्प्ट प्रारंभ करें और उस निर्देशिका में बदलें जहां बूस्ट को अनजिप किया गया था।
  2. चलाएं: "सी: \ प्रोग्राम फ़ाइलें \ माइक्रोसॉफ्ट एसडीके \ विंडोज \ v7.1 \ बिन \ setenv.cmd" / रिलीज / x64
  3. रन: बूटस्ट्रैप

मुझे यह जानकारी यहां मिली: http://boost.2283326.n4.nabble.com/64-bit-with-VS-Express-again-td3044258.html


जबकि नेट का जवाब पहले से ही बहुत अच्छा है, मैं इसे विशेष रूप से विजुअल स्टूडियो 2010 के लिए अनुरोध के रूप में विस्तारित करने जा रहा हूं, और विभिन्न वैकल्पिक घटकों में संकलन करने की जानकारी शामिल करता हूं, जिसके लिए बाहरी पुस्तकालयों की आवश्यकता होती है।

यदि आप केवल लाइब्रेरी हेडर का उपयोग कर रहे हैं, तो आपको केवल बूस्ट डाउनलोड को अनारक्षित करना और पर्यावरण चर सेट अप करना है। नीचे दिए गए निर्देश केवल विजुअल स्टूडियो के लिए पर्यावरण चर सेट करते हैं, न कि पूरे सिस्टम में। ध्यान दें कि आपको केवल एक बार ऐसा करना है।

  1. अपनी पसंद की निर्देशिका में बूस्ट के नवीनतम संस्करण (लेखन के रूप में 1.47.0) को अनारक्षित करें (उदाहरण के लिए C:\boost_1_47_0 )।
  2. विजुअल स्टूडियो में एक नई खाली परियोजना बनाएं।
  3. संपत्ति प्रबंधक खोलें और अपनी पसंद के मंच के लिए कॉन्फ़िगरेशन में से एक का विस्तार करें।
  4. Microsoft.Cpp.<Platform>.user राइट क्लिक करें और राइट क्लिक करें, और संपादित करने के लिए प्रॉपर्टी पेज खोलने के लिए प्रॉपर्टी का चयन करें।
  5. बाईं ओर VC++ Directories चुनें।
  6. अपनी बूस्ट स्रोत फ़ाइलों के पथ को शामिल करने के लिए Include Directories अनुभाग संपादित Include Directories
  7. यदि आवश्यक हो तो अपनी पसंद के विभिन्न प्लेटफ़ॉर्म के लिए चरण 3 - 6 दोहराएं।

यदि आप उस बूस्ट के हिस्से का उपयोग करना चाहते हैं जिसके लिए भवन की आवश्यकता है, लेकिन बाहरी सुविधाओं पर आवश्यक सुविधाओं में से कोई भी नहीं, तो इसे बनाना काफी सरल है।

  1. अपनी पसंद की निर्देशिका में बूस्ट के नवीनतम संस्करण (लेखन के रूप में 1.47.0) को अनारक्षित करें (उदाहरण के लिए C:\boost_1_47_0 )।
  2. अपनी पसंद के मंच के लिए विजुअल स्टूडियो कमांड प्रॉम्प्ट प्रारंभ करें और जहां बढ़ावा है वहां नेविगेट करें।
  3. चलाएं: b2.exe (पहले नामित bjam) बनाने के लिए bootstrap.bat
  4. बी 2 चलाएं:

    • Win32: b2 --toolset=msvc-10.0 --build-type=complete stage ;
    • x64: b2 --toolset=msvc-10.0 --build-type=complete architecture=x86 address-model=64 stage

चलने के लिए जाएं / एक फिल्म देखें या 2 / ....

  1. पर्यावरण चर सेट करने के लिए उपरोक्त निर्देश के सेट से चरण 2 - 6 के माध्यम से जाएं।
  2. अपने बूस्ट लाइब्रेरी आउटपुट के पथ को शामिल करने के लिए Library Directories अनुभाग संपादित करें। (उपरोक्त उदाहरण और निर्देशों के लिए डिफ़ॉल्ट C:\boost_1_47_0\stage\lib । यदि आप x86 और x64 पक्ष के साथ (जैसे <BOOST_PATH>\lib\x86 और <BOOST_PATH>\lib\x64 )।
  3. यदि आवश्यक हो तो अपनी पसंद के विभिन्न प्लेटफ़ॉर्म के लिए चरणों 2 - 6 दोहराएं।

यदि आप वैकल्पिक घटक चाहते हैं, तो आपके पास करने के लिए और अधिक काम है। य़े हैं:

  • Boost.IOStreams Bzip2 फ़िल्टर
  • Boost.IOStreams Zlib फ़िल्टर
  • Boost.MPI
  • Boost.Python
  • Boost.Regex आईसीयू समर्थन

Boost.IOStreams Bzip2 फ़िल्टर:

  1. अपनी पसंद की निर्देशिका में bzip2 लाइब्रेरी (लिखने के रूप में 1.0.6) स्रोत फ़ाइलों का नवीनतम संस्करण C:\bzip2-1.0.6 (उदाहरण के लिए C:\bzip2-1.0.6 )।
  2. बूस्ट बनाने के लिए उपरोक्त निर्देशों के दूसरे सेट का पालन करें, लेकिन चरण 5 में बी 2 चलाते समय विकल्प -sBZIP2_SOURCE="C:\bzip2-1.0.6" में जोड़ें।

Boost.IOStreams Zlib फ़िल्टर

  1. अपनी पसंद की निर्देशिका में स्रोत फ़ाइलों को ज़्लिब लाइब्रेरी (1.2.5 लिखने के रूप में) के नवीनतम संस्करण को अनारक्षित करें (उदाहरण के लिए C:\zlib-1.2.5 )।
  2. बूस्ट बनाने के लिए उपरोक्त निर्देशों के दूसरे सेट का पालन करें, लेकिन चरण 5 में बी 2 चलाते समय विकल्प -sZLIB_SOURCE="C:\zlib-1.2.5" में जोड़ें।

Boost.MPI

  1. एक एमपीआई वितरण जैसे माइक्रोसॉफ्ट कंप्यूट क्लस्टर पैक स्थापित करें।
  2. बढ़ावा देने के लिए ऊपर दिए गए निर्देशों के दूसरे सेट से चरण 1 - 3 का पालन करें।
  3. फ़ाइल project-config.jam निर्देशिका <BOOST_PATH> में संपादित करें जिसके परिणामस्वरूप बूटस्ट्रैप चल रहा है। using mpi ; पढ़ने वाली एक पंक्ति में जोड़ें using mpi ; (';' से पहले अंतरिक्ष को नोट करें)।
  4. बढ़ावा देने के लिए उपरोक्त निर्देशों के दूसरे सेट से शेष चरणों का पालन करें। यदि एमपीआई स्थापना की स्वत: पहचान विफल हो जाती है, तो आपको सही जगह पर एमपीआई देखने के लिए उपयुक्त बिल्ड फ़ाइल को देखने और संशोधित करने की आवश्यकता होगी।

Boost.Python

  1. एक पायथन वितरण जैसे ActiveState के ActivePython स्थापित करें। सुनिश्चित करें कि पाइथन स्थापना आपके पैथ में है।
  2. लाइब्रेरी के 32-बिट संस्करण को पूरी तरह से बनाने के लिए 32-बिट्स पायथन की आवश्यकता होती है, और इसी तरह 64-बिट संस्करण के लिए। यदि आपके पास इस कारण से कई संस्करण स्थापित हैं, तो आपको बी 2 को बताने की आवश्यकता होगी कि विशिष्ट संस्करण कहां और किस का उपयोग करना है। ऐसा करने का एक तरीका निर्देशिका project-config.jam को <BOOST_PATH> निर्देशिका में संपादित करना होगा जो बूटस्ट्रैप चलाने से हुआ था। अपने पायथन इंस्टॉलेशन पथ और संस्करणों के लिए उपयुक्त के रूप में समायोजित निम्न दो पंक्तियों में जोड़ें (';' से पहले स्थान को नोट करें)।

    using python : 2.6 : C:\\Python\\Python26\\python ;

    using python : 2.6 : C:\\Python\\Python26-x64\\python : : : <address-model>64 ;

    ध्यान दें कि इस तरह के स्पष्ट पायथन विनिर्देश वर्तमान में एमपीआई निर्माण विफल होने का कारण बनता है। इसलिए यदि आप एमपीआई बना रहे हैं तो आपको सब कुछ बनाने के लिए विनिर्देश के साथ और बिना किसी अलग इमारत की आवश्यकता होगी।

  3. बढ़ावा देने के लिए उपरोक्त निर्देशों के दूसरे सेट का पालन करें।

Boost.Regex आईसीयू समर्थन

  1. अपनी पसंद की निर्देशिका में आईसीयू 4 सी लाइब्रेरी (लेखन के रूप में 4.8) स्रोत फ़ाइल का नवीनतम संस्करण अनारक्षित करें (उदाहरण के लिए C:\icu4c-4_8 )।
  2. <ICU_PATH>\source\allinone में विजुअल स्टूडियो समाधान खोलें।
  3. अपनी पसंद के मंच के लिए डीबग और रिलीज कॉन्फ़िगरेशन दोनों के लिए सभी बनाएं। विजुअल स्टूडियो 2010 के साथ आईसीयू 4 सी की हालिया रिलीज बनाने में समस्या हो सकती है जब डीबग और रिलीज बिल्ड दोनों के लिए आउटपुट एक ही निर्देशिका में होता है (जो डिफ़ॉल्ट व्यवहार है)। एक बिल्ड वर्क (डीबग बिल्ड कहने के लिए) का एक संभावित कामकाज करना है और फिर दूसरी कॉन्फ़िगरेशन (उदाहरण के लिए रिलीज बिल्ड) में पुनर्निर्माण करना है।
  4. यदि x64 के लिए बिल्डिंग है, तो आपको x64 ओएस चलाने की आवश्यकता होगी क्योंकि पोस्ट बिल्ड चरण हैं जिसमें 64 बिल्डिंग एप्लिकेशन का निर्माण करना शामिल है।
  5. वैकल्पिक होने पर स्रोत निर्देशिका को वैकल्पिक रूप से हटा दें।
  6. बूस्ट बनाने के लिए उपरोक्त निर्देशों के दूसरे सेट का पालन करें, लेकिन चरण 5 में बी 2 चलाते समय विकल्प -sICU_PATH="C:\icu4c-4_8" में जोड़ें।

बूस्ट के किस हिस्से की आपको आवश्यकता है? बहुत सी चीजें TR1 का हिस्सा हैं जो विजुअल स्टूडियो के साथ भेज दी जाती है, ताकि आप बस कह सकें, उदाहरण के लिए:

#include <tr1/memory>

using std::tr1::shared_ptr;

जेम्स के अनुसार, यह भी काम करना चाहिए (सी ++ 0x में):

#include <memory>

using std::shared_ptr;

मैं निम्नलिखित चाल की सिफारिश कर सकता हूं: एक विशेष boost.props फ़ाइल बनाएं

  1. संपत्ति प्रबंधक खोलें
  2. अपने प्रोजेक्ट नोड पर राइट क्लिक करें, और 'नई प्रोजेक्ट प्रॉपर्टी शीट जोड़ें' चुनें।
  3. एक स्थान का चयन करें और अपनी संपत्ति शीट का नाम दें (उदाहरण के लिए c: \ mystuff \ boost.props)
  4. अतिरिक्त पथ और लिब फ़ोल्डरों को खोज पथ में संशोधित करें।

इस प्रक्रिया में मूल्य है कि बढ़ावा केवल उन परियोजनाओं में शामिल है जहां आप इसे स्पष्ट रूप से शामिल करना चाहते हैं। जब आपके पास बूस्ट का उपयोग करने वाली एक नई परियोजना है, तो करें:

  1. संपत्ति प्रबंधक खोलें।
  2. प्रोजेक्ट नोड पर राइट क्लिक करें, और 'मौजूदा प्रॉपर्टी शीट जोड़ें' का चयन करें।
  3. बूस्ट प्रॉपर्टी शीट का चयन करें।

संपादित करें (@ jim-fred से संपादन के बाद):

परिणामस्वरूप boost.props फ़ाइल इस तरह कुछ दिखती है ...

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ImportGroup Label="PropertySheets" />
  <PropertyGroup Label="UserMacros">
    <BOOST_DIR>D:\boost_1_53_0\</BOOST_DIR>
  </PropertyGroup>
  <PropertyGroup>
    <IncludePath>$(BOOST_DIR);$(IncludePath)</IncludePath>
    <LibraryPath>$(BOOST_DIR)stage\lib\;$(LibraryPath)</LibraryPath>
  </PropertyGroup>
</Project>

इसमें बूस्ट डायरेक्टरी के स्थान के लिए उपयोगकर्ता मैक्रो है (इस मामले में, डी: \ boost_1_53_0) और दो अन्य पैरामीटर: IncludePath और LibraryPath। एक कथन #include <boost/thread.hpp> उपयुक्त निर्देशिका में thread.hpp मिल जाएगा (इस मामले में, डी: \ boost_1_53_0 \ boost \ thread.hpp)। 'चरण \ lib \' निर्देशिका स्थापित निर्देशिका के आधार पर बदल सकती है।

यह boost.props फ़ाइल D:\boost_1_53_0\ निर्देशिका में स्थित हो सकती है।


यहां बताया गया है कि मैं बूस्ट का उपयोग कैसे कर सकता था:

  1. बूस्ट पुस्तकालयों के ज़िप संस्करण को डाउनलोड और निकालें।
  2. Bootstrap.bat फ़ाइल चलाएं और फिर bjam.exe चलाएं।
  3. लगभग 30 मिनट या उससे भी ज्यादा प्रतीक्षा करें।
  4. विजुअल स्टूडियो में एक नई परियोजना बनाएं।
  5. प्रोजेक्ट पर जाएं -> गुण -> लिंकर -> सामान्य -> ​​अतिरिक्त लाइब्रेरी निर्देशिकाएं और इसमें बूस्ट / चरण / lib निर्देशिका जोड़ें।
  6. प्रोजेक्ट पर जाएं -> गुण -> सी / सी ++ -> सामान्य -> ​​अतिरिक्त निर्देशिकाएं शामिल करें और इसमें बूस्ट निर्देशिका जोड़ें।

आप बिना किसी त्रुटि के अपने प्रोजेक्ट का निर्माण करने में सक्षम होंगे!


विजुअल स्टूडियो में शुरू करने के लिए एक न्यूनतम उदाहरण:

1. यहां से बूस्ट http://www.boost.org/users/download/ और अनजिप करें।

2. एक उदाहरण स्टूडियो खाली प्रोजेक्ट बनाएं, उदाहरण बूस्ट लाइब्रेरी का उपयोग करके जिसे अलग संकलन की आवश्यकता नहीं है:

#include <iostream>
#include <boost/format.hpp>

using namespace std;  
using namespace boost;  

int main()  
{  
    unsigned int arr[5] = { 0x05, 0x04, 0xAA, 0x0F, 0x0D };  

    cout << format("%02X-%02X-%02X-%02X-%02X")  
            % arr[0]  
            % arr[1]  
            % arr[2]  
            % arr[3]  
            % arr[4]  
         << endl;  
}  

3. आपके विजुअल स्टूडियो प्रोजेक्ट गुणों में अतिरिक्त शामिल निर्देशिकाएं सेट करें:

एक बहुत ही सरल उदाहरण के लिए:

विजुअल स्टूडियो में बूस्ट पुस्तकालयों को कैसे स्थापित करें

यदि आप संपूर्ण बूस्ट लाइब्रेरी का उपयोग नहीं करना चाहते हैं, तो बस एक सबसेट:

विंडोज़ में बूस्ट लाइब्रेरीज़ के सबसेट का उपयोग करना

यदि आप विशेष रूप से उन पुस्तकालयों के बारे में जानना चाहते हैं जिन्हें संकलन की आवश्यकता है:

विंडोज़ में बूस्ट संकलित पुस्तकालयों का उपयोग कैसे करें


here स्थित विंडोज इंस्टालर मेरे लिए पूरी तरह से काम करते थे। मैंने निम्नलिखित कदम उठाए:

  1. समाप्त होने तक स्थापना विज़ार्ड का पालन करें।
  2. दृश्य स्टूडियो चलाएं।
  3. एक नई सी ++ परियोजना बनाएँ
  4. ओपन प्रोजेक्ट गुण (समाधान एक्सप्लोरर में प्रोजेक्ट नाम पर राइट-क्लिक करके पाया जा सकता है)
  5. "सी / सी ++> सामान्य> अतिरिक्त निर्देशिकाएं शामिल करें" पथ जोड़ें जहां रूट रूट निर्देशिका को बढ़ावा दें। मेरे संस्करण के लिए डिफ़ॉल्ट सी: \ local \ boost_1_63_0 था। "बूस्ट" के बाद संख्या बूस्ट का संस्करण है।
  6. प्रोजेक्ट गुणों में, "लिंकर> अतिरिक्त लाइब्रेरी निर्देशिकाएं" के अंतर्गत लाइब्रेरी फ़ाइलों के लिए निर्देशिका जोड़ें। मेरे संस्करण के लिए डिफ़ॉल्ट सी था: \ local \ boost_1_63_0 \ lib64-msvc-14.0। "Lib" के बाद संख्या बिल्ड लक्ष्य (विजुअल स्टूडियो में 32 बिट या 64 बिट) से संबंधित है और "msvc" के बाद संख्या विजुअल स्टूडियो के संस्करण से संबंधित है (14.0 विजुअल स्टूडियो 2015 से संबंधित है, लेकिन मैं हूं 2017 विजुअल स्टूडियो के साथ इसका उपयोग करना)।

सौभाग्य!








boost