سؤال

هل من أحد لديه أي خبرة مع تشغيل C++ التطبيقات التي تستخدم دفعة المكتبات على uclibc القائم على النظم ؟ هل من الممكن ؟ والتي C++ القياسية المكتبة ؟ هو uclibc++ للاستخدام مع زيادة?

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

المحلول

ونحن نستخدم زيادة جنبا إلى جنب مع دول مجلس التعاون الخليجي 2.95.3، libstdc ++ وSTLport على منصة ARMV4 تشغيل uClinux. بعض أجزاء من دفعة غير متوافقة مع الإصدار 2.x دول مجلس التعاون الخليجي ولكن تلك التي هي تعمل بشكل جيد في حالتنا معينة. المكتبات التي نستخدمها أكثر هي <م> DATE_TIME ، <م> ربط ، <م> وظيفة ، <م> الصفوف (tuple) و <م> موضوع .

وبعض المكتبات كان لدينا مشاكل مع كانت امدا ، <م> shared_pointer و <م> تنسيق . والأكثر احتمالا بسبب هذه القضايا من خلال نسختنا من دول مجلس التعاون الخليجي منذ كان لديه مشاكل عندما يكون لديك عدد كبير جدا يشمل أو مستويات عميقة من الهياكل القالب.

وإذا كان ذلك ممكنا أنصح لك لتشغيل اختبار جناح دفعة مع toolchain معينة لضمان التوافق. على أقل تقدير يمكن تجميع toolchain الأصلي من أجل ضمان أن الإصدارات مكتبتك متوافقة.

ونحن لم تستخدم uClibc ++ لأن ذلك ليس هو ما يوصي به مزود toolchain لدينا حتى لا أستطيع التعليق على ذلك مجموعة معينة.

نصائح أخرى

ونحن نستخدم العديد من المكتبات دفعة (موضوع، نظام الملفات، وإشارات، وظيفة، ربط، أي، اسيو، smart_ptr، الصفوف (tuple)) على <لأ href = "http://www.arcom.com/pc104-ixp425 -vulcan.htm "يختلط =" نوفولو noreferrer "> آركوم فولكان وهو المسلم قوية جدا لجهاز جزءا لا يتجزأ من (64M RAM، 533MHZ معالج xscale). كل شيء يعمل بشكل جميل.

ودول مجلس التعاون الخليجي 3.4 لكننا لا تستخدم uclib ++ (آركوم يوفر toolchain التي تضم libstd ++).

سوف

والعديد من الأجهزة المدمجة تشغيل بسعادة العديد من المكتبات دفعة، على افتراض دعم مترجم لائق. مجرد رعاية مع الاستخدام. المكتبات دفعة رفع مستوى من التجريد، ويمكن أن يكون من السهل استخدام المزيد من الموارد مما كنت اعتقد.

وأنا googled "stlport uclibc". يبدو أن هناك إصدارات قليلة على الأقل من uclibc التي stlport يمكن جمعها (انظر <لأ href = "http://lists.uclibc.org/pipermail/uclibc/2003-January/005481.html" يختلط = "نوفولو noreferrer "> هذا ). بالنظر إلى ذلك، أود أن أقول دفعة هو مجرد عدد قليل من تجميع خطوات. لقد قرأت رسالة من ديفيد أبراهامز (الذي هو عضو فاعل في المجتمع دفعة) التي تقول أن الدافع لا تعتمد مباشرة على LIBC المستخدمة. ولكن بعض المكتبات قد لا يزال يسبب مشاكل، Boost.Python على سبيل المثال، لأنه يعتمد على شيء آخر (بيثون في بلدي على سبيل المثال) قد يكون من الصعب ترجمة مع uclibc.

ويساعد هذا الأمل

ولم أحاول لكني لا أعرف أي شيء عن uclibc يحول دون دفعة من العمل.

وانها محاولة ونرى ما سيحدث، وأود أن أقول.

نعم يمكنك استخدام دفعة مع uclibc.
حاولت هذا مع زيادة 1.45 & uclibc على ARM9260

  1. استخدام الطازجة OpenEmbedded
  2. تكوين لاستخدام انغستروم
  3. تكوين انغستروم استخدام uclibc
  4. جعل دفعة - bitbake دفعة
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top