2009-05-29 20 views
6

हटा दिया गया है I boost :: spirit के लिए क्विकस्टार्ट मार्गदर्शिका का पालन कर रहा हूं, और मुझे यह कंपाइलर चेतावनी मिलती है जब मैं इसमें शामिल हूं: "यह हेडर बहिष्कृत है। कृपया उपयोग करें: boost/spirit/include/include_ classic.hcore.hpp" इस बारे में चिंतित हो?बूस्ट स्पिरिट हेडर को

(त्वरित आरंभ गाइड: http://spirit.sourceforge.net/distrib/spirit_1_8_5/libs/spirit/doc/quick_start.html, कार्यक्रम मैं यहाँ संकलित करने के लिए कोशिश कर रहा हूँ से भरा स्रोत के साथ: http://spirit.sourceforge.net/distrib/spirit_1_8_5/libs/spirit/example/fundamental/number_list.cpp)

संपादित करें: इसके अतिरिक्त, जब मैं सिफारिश classic_core.hpp और classic_push_back_actor.hpp हेडर के साथ संकलित करने के लिए कोशिश , मुझे निम्नलिखित कंपाइलर त्रुटियां मिलती हैं:

test7.cpp: In function 'bool parse_numbers(const char*, __gnu_debug_def::vector<double, std::allocator<double> >&)': 
test7.cpp:18: error: 'real_p' was not declared in this scope 
test7.cpp:18: error: 'push_back_a' was not declared in this scope 
test7.cpp:23: error: 'space_p' was not declared in this scope 
test7.cpp:23: error: 'parse' was not declared in this scope 
+0

बढ़ावा का संस्करण? –

+0

आपको यह सही मिला - 1.3 9 को बढ़ावा दें –

उत्तर

11

[संपादित करें:] मूल जवाब बुरी तरह से पुराना हो चुका है; विशेष रूप से लिंक टूटा हुआ है। बूस्ट का वर्तमान संस्करण (2012-02-24 के बाद से) 1.4 9.0 है।

चेतावनी दी गई चेतावनी #include <boost/spirit.hpp> का परिणाम है जो एक बहिष्कृत शीर्षलेख है; हालांकि वेब पर पुराने उदाहरण इस फॉर्म का उपयोग करते हैं। शुरू करने के लिए, boost tutorials आज़माएं। एक बार जब आप सही शामिल और नामस्थान देखते हैं, तो अधिकांश पुराने उदाहरण आसानी से परिवर्तित किए जा सकते हैं।

[पुराने उत्तर:]

आप (SVN के माध्यम से) को बढ़ावा देने 1.39 या बाद में उपयोग करना चाहिए। इस प्रस्तुति की मदद करनी चाहिए:

संक्षेप में, वहाँ बात करने का एक नया तरीका है और इन नामस्थान उपयोग करने के लिए कर रहे हैं:

  • boost::spirit:qi (पार्सर के लिए)
  • boost::spirit::karma (जनरेटर lib के लिए)

आधिकारिक रिलीज 1.40 है इसलिए शायद उस समय तक डॉक्टर अपडेट किया जाएगा।

संपादित करें: the doc in the boost SVN repository पर काम किया जा रहा है और शायद नए वास्तुकला को और अधिक वफादार तरीके से प्रतिबिंबित करता है।

0

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

नए शीर्षलेख में सुविधा को संभालने का थोड़ा अलग तरीका हो सकता है, इसलिए आपको कुछ कोड परिवर्तन करने की आवश्यकता हो सकती है।

(मैं बढ़ावा के बारे में ज्यादा पता नहीं है, यह सिर्फ एक सामान्य टिप्पणी है)

1

जब आप क्लासिक हेडर समेत होते हैं तो पार्सर्स :: भावना :: क्लासिक नेमस्पेस में हैं। आज़माएं:

नामस्थान वृद्धि :: भावना :: क्लासिक;

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