سؤال

لقد واجهت بعض الأخطاء في أحد مكونات دفعة أستخدمها. بعد تحليل المشكلة قليلا، وجدت أنني لم أكن الوحيد، وقد أصدر المؤلف بالفعل إصلاحا متاحا في صندوق Bost SVN.

ما هو أفضل نهج إذا أردت تحديث هذا المكون فقط وإعادة استخدام المكتبات التي تم بناؤها بالفعل؟ المكون ليس رأس فقط.

  • مترجم: MSVC 9 مع SP1، TR1
  • نظام التشغيل: فيستا
  • دفعة: 1.39 من الحوسبة boostpro
  • مكون عربات التي تجرها الدواب: دفعة موجة
  • علة: ظروف السباق. تم إصلاح الخطأ في مايو من هذا العام، لكنها لم تدرجها في أي إصدار بقدر ما أستطيع أن أقول.

ما فعلته حتى الآن:

  • SVN الخروج من موجة subdir
  • استبدال subdir المحلية
  • الآن أنا أبحث عن طريقة لتحديد أنني أريد أن أبني فقط لوح

أنا مرهق قليلا من إعادة بناء دفعة كاملة ليب. لا أعرف إذا كان الجذع جاهزا في الإنتاج الآن.

هل كانت مفيدة؟

المحلول

إليك ما انتهى به الأمر:

  1. أولا، قمت بفحص إصدار Wave Lib حيث تم إصلاح المشكلة (53230). بعد انتهاءها إلى نسختي المحلية، وجدت التغييرات التالية:

    - كانت موجة إعادة استخدام التنفيذ دفعة.

    - تم تحديث تنفيذ Flex_String

    - تم إجراء عداد المرجع الذرية. يجب أن يكون هذا bugfix

  2. ثم استبدلت ببساطة دفعة / موجة مع واحد من SVN. ركضت bootstrap.bat (إذا كنت تستخدم boostpro، سيتعين عليك الحصول على هذا من مصادر دفعة ZIP) ثم ركضت BJAM:

    BJAM - Build-directory = Build Toolset = MSVC Variant = Debug | رابط الإصدار = الخيوط الثابتة = Link Runtime-Link = المشترك - With-Wave.

    إضافة - With-Wave سوف تبني موجة فقط وتبعيةها.

  3. في هذه المرحلة، حصلت على أخطاء تجميعها: يبدو أنه تم تحديث الروح أيضا. قمت بتنزيل الروح (53252) من SVN وأقامت قيادة BJAM.

    تبني المكتبة نظيفة ونسخت Libs إلى مجلد Boost Lib.

بعد القيام بهذه الخطوات، أعيد بناء مشروعي وذهبت أخطاء تحطمها.

نصائح أخرى

أفضل نهج: بناء رقعة من قبل diffجي التغييرات في المستودع (على سبيل المثال عن طريق التحقق من جزء من المستودع واستخدام svn diff)، ثم قم بتطبيق التصحيح على الملفات في تثبيت Boost الخاص بك باستخدام patch (أداة UNIX).

قد يتطلب هذا وحدة تحكم مثل UNIX على Windows (مثل Cygwin). بدلا من ذلك، ربما يمكنك تسخير عميل Windows SVN مثل TortoissVN لكنني لست متأكدا من أن هذا يسمح بملفات الترقيع خارج عنصر تحكم الإصدار.

هل تتحدث عن مكتبة رأس؟ إذا لم يكن الأمر كذلك، فأنت بحاجة أيضا إلى إعادة إنشاء هذا الجزء من مكتبة التعزيز الخاصة بك ولسوء الحظ، لا أعتقد أن هذا متوافق تماما مع برنامج Boost Installer من BoostPro.

حسنا، يمكنك التحقق من السجلات ورؤية المراجعة الدقيقة التي تم إصلاح المشكلة وتفتيت مراجعة YHAT فقط وتطبيق التصحيح يدويا.

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

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