के लिए बूस्ट 1.47 संकलित करें विंडोज सीई के लिए बूस्ट लाइब्रेरी बनाने की कोशिश करने वाले लोगों के बारे में वास्तव में कुछ जानकारी है, लेकिन किसी ने भी सफलता की सूचना नहीं दी है या ऐसा करने के लिए आवश्यक कदम भी दिए हैं। दो नवीनतम रिलीज (1.46 और 1.47) के साथ रिलीज नोट्स ने उल्लेख किया है कि उनके परीक्षण कंपाइलरों में से एक "विज़ुअल सी ++, विंडोज मोबाइल 5, एसटीएलपोर्ट: 9.0 के साथ" था, जो ऐसा लगता है कि सफलता प्राप्त की गई है (एक साइड नोट के रूप में दिया गया संकलक दिलचस्प है क्योंकि नवीनतम एसटीएलपोर्ट मैं डाउनलोड करने में सक्षम हूं 5.2.1 है। क्या मुझे कुछ याद आ रहा है?)।विंडोज सीई
जो पोस्ट मैंने पाया है वह यहां मौजूद फाइल के चारों ओर घूमती प्रतीत होती है: http://www.boost.org/development/tests/trunk/VeecoFTC.html। बात यह है कि, मैं ईमानदारी से यह नहीं जानता कि इसका उपयोग कैसे किया जाए। मैं विंडोज सीई के लिए एसटीएलपोर्ट बनाने में सक्षम था, लेकिन बूस्ट हो रही मार्गदर्शिका गाइड (http://www.boost.org/doc/libs/1_47_0/more/getting_started/windows.html) के बाद मैं बूस्ट.बिल्ड मंच पर फंस गया। क्या मुझे सीई के लिए संकलन करने के लिए इस बिंदु पर कॉन्फ़िगर करने की आवश्यकता है? मुझे नहीं पता कि कौन से कदम उठाने हैं और कुछ मार्गदर्शन की सराहना करेंगे।
ये कदम मैं अब तक का पालन किया है:
- Windows CE के लिए संकलित STLport (प्रलेखन सुंदर सभ्य था, यह भी मुश्किल साबित नहीं हुआ)।
- आरंभ करने की मार्गदर्शिका के अनुसार बूस्ट.बिल्ड स्थापित करें। मैं इस चरण पर थोड़ा सा अशक्त हूं, क्योंकि bootstrap.bat फ़ाइल "ntx86" और "ntx86_64" के लिए विशिष्ट प्रतीत होती है। क्या मैं पहले से ही खराब हो गया हूँ?
इस बिंदु पर, यह सोचते हैं कि मैं चीजों को सही ढंग से किया है, मैं की तरह
b2 --build-dir=build-directory toolset=toolset-name --build-type=complete stage
कुछ के साथ बी 2 चलाने के लिए मुझे लगता है अपने निर्माण निर्देशिका उपसर्ग मैं Boost.Build के लिए इस्तेमाल किया है की जरूरत है, का निर्माण प्रकार और चरण दिया जाएगा, लेकिन मुझे नहीं पता कि किस टूलसेट नाम का उपयोग करना है। वीकोएफटीसी फ़ाइल में एमएसवीसी और स्ट्लपोर्ट के लिए कई प्रविष्टियां हैं। मैं दो प्रविष्टियों से संबंधित नहीं था निकाला गया "wm5," लेकिन जब मैं निम्न आदेश के साथ संकलन
b2 --build-dir=C:\boost-build toolset=msvc --build-type=complete stage
मैं की तरह त्रुटियों की एक गुच्छा मिलता है:
compile-c-c++ C:\boost-build\boost\bin.v2\libs\regex\build\msvc-9.0~wm5~stlport5.2\debug\threading-multi\has_icu_test.obj
The system cannot find the path specified.
दरअसल, उस फ़ाइल करता है अस्तित्व में नहीं है, लेकिन has_icu_test.obj.rsp मौजूद है। क्या मैं कुछ भूल रहा हूँ? क्या मैं सही रास्ते पर भी हूं?
अद्यतन:
जब से मैं नहीं मिल सकता है Boost.Build काम करने के लिए और Boost.Build मेलिंग सूची पर प्यार नहीं मिल रहा है, मैं CMake बूस्ट के लिए प्रणाली का निर्माण की कोशिश कर रहा करने के लिए पर स्थानांतरित कर दिया है: http://gitorious.org/boost/cmake। मैं CEgcc साथ संयोजन के रूप में इस का उपयोग कर रहा (मैं भी बहुत कुछ विंडोज की तुलना में लिनक्स से परिचित हूँ) और मैं निम्नलिखित त्रुटि में चल रहा हूँ:
boost/config/requires_threads.hpp:47:5: error: #error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)"
-mthreads सी का हिस्सा है और CXX flags-- समस्या यह है कि BOOST_PLATFORM_CONFIG को boost/config/select_platform_config.hpp द्वारा परिभाषित नहीं किया गया है। विंडोज सीई के लिए इसे क्या परिभाषित किया जाना चाहिए? मुझे लगा कि यह बूस्ट/कॉन्फ़िगर/प्लेटफार्म/win32.hpp होना चाहिए (जो तब BOOST_HAS_WINTHREADS को परिभाषित करेगा, जो उपर्युक्त त्रुटि को हल करेगा)। रिलीज नोट्स इस काम का दावा कैसे कर सकता है जब select_platform_config.hpp विंडोज सीई मामलों को संभालने में प्रतीत नहीं होता है? यदि BOOST_PLATFORM_CONFIG को वास्तव में boost/config/platform/win32.hpp होने की आवश्यकता है, तो मुझे या तो _WIN32, WIN32, या WIN32 परिभाषित करने की आवश्यकता है। मेरी पहली प्रतिक्रिया यह है कि इनमें से कोई भी सीई के लिए संकलन के लिए उपयोग नहीं किया जाना चाहिए। साथ ही, VeecoFTC फ़ाइल में इनमें से कोई भी शामिल नहीं है। यह कैसे काम करता है?
क्या आप वास्तव में किसी भी बूस्ट पुस्तकालयों का उपयोग करते हैं जिन्हें संकलन की आवश्यकता है? बूस्ट में बहुत सारी उपयोगी पुस्तकालय हैं जिन्हें इमारत की आवश्यकता नहीं है। – Daemin
ठीक है, आप वास्तव में किस प्रकार के बूस्ट का उपयोग करते हैं? मैं व्यक्तिगत रूप से बस STATIC_ASSERT और boost :: mpl जैसे मानक सुविधाओं के लिए बूस्ट हेडर फ़ाइलों का उपयोग कर रहा हूं, और ये चीजें WinCE/VC++ में ठीक काम करती हैं। बूस्ट पुस्तकालयों का एक विशाल संग्रह है; निश्चित रूप से आपको इसे सफलतापूर्वक संकलित करने की आवश्यकता नहीं है। – Qwertie
"दृश्य सी ++, विंडोज मोबाइल 5, एसटीएलपोर्ट के साथ: 9.0," के बारे में, यह वीसी ++ 9 है, डब्लूएम 5 के लिए एसटीएलपोर्ट क्रॉस-कंपाइलिंग के साथ। हाँ, यह उस तरह मजाकिया लग रहा है। –