2010-08-05 23 views
6

मैं एक क्रॉस-प्लेटफ़ॉर्म (विंडोज, लिनक्स, सोलारिस) प्रोजेक्ट पर काम करता हूं। मैं इस परियोजना में बूस्ट के shared_ptr का उपयोग करना चाहता हूं।मेरी परियोजना में वृद्धि कैसे जोड़ें?

मैं इसे कैसे इंस्टॉल कर सकता हूं, और इसे परियोजना के साथ ग्राहकों के साथ फिर से वितरित कर सकता हूं?

मेरे पास लिनक्स/सोलारिस पर रूट अनुमति नहीं है, इसलिए मुझे शायद अपने स्रोतों में बूस्ट स्रोत जोड़ना होगा, और इसे एक साथ बनाना होगा।

इसके अलावा, सोलारिस का हमारा संस्करण बहुत पुराना है (2.5.1, मई 1 99 6)। क्या shared_ptr के निर्माण के साथ कोई समस्या हो सकती है?

उत्तर

4

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

अपने कोड फ़ाइल में, यह शीर्ष लेख में शामिल हैं:

#include<boost/shared_ptr.hpp> 

और इस तरह इसका इस्तेमाल:

boost::shared_ptr<int> ptrToInt (new int); 
4

बूस्ट लाइब्रेरी के स्रोतों को शामिल करने की कोई आवश्यकता नहीं है (बूस्ट एक बहुत बड़ी लाइब्रेरी है)। बस अपनी पूर्व शर्त में बूस्ट शामिल करें।

यदि आप बाइनरी रूप में अपनी परियोजना को फिर से वितरित करते हैं तो आपको बूस्ट पुस्तकालयों को बिल्कुल शामिल करने की आवश्यकता नहीं है।

3

boost::shared_ptr हेडर-केवल है। बस अपनी प्रोजेक्ट में आवश्यक हेडर फ़ाइल जोड़ें और आप कर चुके हैं।

shared_ptr TR1 का हिस्सा भी है, पहली सी ++ लाइब्रेरी तकनीकी रिपोर्ट और उदा। जीसीसी (> = 4.0.0) के नए संस्करणों में शामिल (अधिक जानकारी के लिए here देखें)।

+3

ध्यान दें कि 'shared_ptr.hpp' कुछ अन्य शीर्षलेख फ़ाइलों पर निर्भर करता है। –

+1

बूस्ट 'बीसीपी' नामक प्रोग्राम के साथ आता है जो इसका ख्याल रखता है। आपके द्वारा उपयोग की जाने वाली बूस्ट हेडर फ़ाइलों को ढूंढने के लिए यह आपके स्रोत को देखेगा, और न्यूनतम सेट बनाने के लिए उन्हें फिर से चलाएगा। हम इसे स्वचालित रूप से हमारी बिल्ड स्क्रिप्ट में करते हैं, और यह अच्छी तरह से काम करता है। – KeithB

3

तुम बस shared_ptr उपयोग करने के लिए बढ़ावा पुस्तकालय की ज्यादा जरूरत नहीं है। bcp टूल का उपयोग केवल उस बिट्स को निकालने के लिए करें जो shared_ptr पर निर्भर करता है, जो पूर्ण लाइब्रेरी को स्थापित करने के लिए बेहतर हो सकता है।

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