मैं विंडोज़ पर एक बूस्ट आधारित एप्लिकेशन संकलित करने के लिए एक सेमेक स्क्रिप्ट का उपयोग करने की कोशिश कर रहा हूं। हेडर केवल पुस्तकालयों अच्छा काम है, लेकिन cmakes पुस्तकालयों (निम्नलिखित बूस्ट पुस्तकालयों पाया नहीं जा सका: boost_serialization) को खोजने में विफल cmake स्क्रिप्ट के प्रासंगिक हिस्सा है:सेमेक को बूस्ट लाइब्रेरी नहीं मिली
#path where cmake can find additional libraries
SET(CMAKE_PREFIX_PATH Libs)
#boost
SET(Boost_ADDITIONAL_VERSIONS "1.47" "1.47.0")
SET(Boost_USE_STATIC_LIBS ON)
find_package(Boost REQUIRED COMPONENTS serialization)
मैं एक फ़ोल्डर बुलाया " लिब्स "मेरे प्रोजेक्ट के अंदर जहां डेविल और बूस्ट जैसे तीसरे पक्ष के पुस्तकालय संग्रहीत किए जाते हैं, इसलिए मैंने इसे पहले सेट किया। शैतान के लिए ठीक काम करता है और हेडर-केवल सामान को बढ़ावा देता है, इसलिए मुझे लगता है कि मुझे BOOST_ROOT चर की आवश्यकता नहीं है। बूस्ट इंस्टॉलेशन boost.org से मानक स्रोत वितरण है जिसे मैंने bjam के साथ संकलित किया है। लाइब्रेरी boost_1_47_0 \ bin.v2 \ libs में संग्रहीत हैं, मैंने बिल्ड प्रक्रिया में कुछ भी नहीं बदला है। मुझे लगता है कि यह थोड़ा अजीब है, कि boost_1_47_0 \ libs फ़ोल्डर में कोई लाइब्रेरी फ़ाइलें नहीं हैं लेकिन bjam फ़ाइलें और अन्य सामान नहीं हैं, लेकिन यह कोई समस्या नहीं होनी चाहिए क्योंकि यह सीम विंडोज़ पर बढ़ावा देने का सामान्य तरीका है स्रोत से
मैंने FindBoost.cmake से डीबग आउटपुट देखा (मैं सीएमके 2.8 से डिफ़ॉल्ट स्क्रिप्ट का उपयोग कर रहा हूं) और यह bin.v2 में देखने के लिए सीम नहीं है। इसके बजाय यह boost_ROOT/lib की खोज करता है, लेकिन जब मैंने bin.v2 \ libs से lib को सामग्री कॉपी की है तो इसे अभी भी कुछ भी नहीं मिला है।
तो बूस्ट खोजने का एक शानदार तरीका क्या है, जो सामान्य बोस्ट वितरण के साथ अन्य प्लेटफॉर्म पर भी काम करेगा?
मैनुअल पढ़ें, मंच और स्थापित के बारे में जानें। – mloskot
मैंने मैनुअल (http://www.boost.org/doc/libs/1_48_0/more/getting_started/windows.html) पढ़ा लेकिन विकल्प 5.2 का उपयोग किया। मुझे इसमें सभी पुस्तकालयों के साथ मंच निर्देशिका मिली और अब इसे मेरे बूस्ट लाइब्रेरी डीआईआर के रूप में सेट कर सकते हैं, लेकिन अगली बार मैं विकल्प 5.3 का प्रयास करूंगा। – JonathanK
आप बूस्ट की अपनी स्थापना करने के लिए बस चरण और बूस्ट (हेडर) निर्देशिका की प्रतिलिपि बना सकते हैं। जैसे बूस्ट/-> सी: \ बूस्ट \ \ बूस्ट और स्टेज/* -> सी: \ boost \ lib – mloskot