سؤال

أنا أتابع دليل QuickStart لتعزيز :: Spirit، وأحصل على تحذير المترجم هذا عندما أدرج: "يتم إهمال هذا الرأس. يرجى استخدام: زيادة / روح / تشمل / classic_core.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/fundace/number_list.cpp.)

تحرير: بالإضافة إلى ذلك، عندما أحاول ترجمة مع رؤوس رؤوس Classic_core.hpp والكلاسيكية_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
هل كانت مفيدة؟

المحلول

تحرير:] الإجابة الأصلية قديمة للغاية؛ على وجه الخصوص الرابط مكسور. الإصدار الحالي من Bost (منذ 2012-02-24) هو 1.49.0.

التحذير المذكور هو نتيجة #include <boost/spirit.hpp> وهو رأس مهملة؛ لكن الأمثلة القديمة على الويب استخدم هذا النموذج. للبدء، جرب تعزيز دروس. وبعد بمجرد أن ترى الإجراء الصحيح ويسمع المساحات السمعية، يمكن بسهولة تحويل معظم الأمثلة القديمة.

الجواب القديم:

يجب أن تستخدم دفعة 1.39 أو الأحدث (عبر SVN). يجب أن يساعد هذا العرض التقديمي:

باختصار، هناك طريقة جديدة تماما لفعل شيء وهذه هي أسماء الأسماء لاستخدامها:

  • boost::spirit:qi (للحافل)
  • boost::spirit::karma (للمولد ليب)

الإصدار الرسمي هو 1.40 لذلك ربما بحلول ذلك الوقت سيتم تحديث الوثيقة.

تعديل: الوثيقة في مستودع دفعة SVN يتم عمله على من المحتمل أن تعكس الهندسة المعمارية الجديدة بطريقة أكثر وفية.

نصائح أخرى

عندما تكون بما في ذلك الرؤوس الكلاسيكية، فإن المحللين موجودون في دفعة :: Spirit :: مساحة الاسم الكلاسيكية. يحاول:

باستخدام مساحة الاسم :: الروح :: الكلاسيكية؛

عندما تشير مكتبة إلى وجود فئة / رأس / طريقة / إلخ. يتم إهماله، فهذا يعني أن المشرف على المكتبة سوف يتوقف عن الحفاظ على الوظيفة، وقد يزيله في المستقبل. أود أن أوصي بالتحول إلى الرأس المقترح في وقت لاحق من وقت لاحق، لذلك ينقذ نفسك من الصداع في المستقبل.

قد يكون للرأس الجديد طريقة مختلفة قليلا لمعالجة الميزة، لذلك قد تحتاج إلى إجراء بعض التغييرات التعليمات البرمجية.

(لا أعرف الكثير عن التعزيز، هذا مجرد تعليق عام)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top