ربط مكتبة C ++ ثابتة بنيت من قبل مجلس التعاون الخليجي مع برنامج جمعه XLC؟

StackOverflow https://stackoverflow.com/questions/4148769

  •  30-09-2019
  •  | 
  •  

سؤال

لديّ مكتبة ثابتة طرف ثالث تم بناؤها على AIX مع GCC. عندما أحاول ربط تلك المكتبة باستخدام برنامج التحويل البرمجي XLC AIX ، أحصل على كل أنواع الرموز التي لم يتم حلها. أعتقد أنه يرجع إلى الاختلافات في الاسم millgling. إذا أخرجت أسماء Manged من المكتبة باستخدام أمر NM ، فهل هناك أي شيء خاطئ بشكل أساسي في بناء الثنائي مع برنامج التحويل البرمجي XLC بشرط أن يجد الرموز التي يبحث عنها؟ ما هي المشاكل التي أطلبها؟

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

المحلول

من المحتمل ألا يعمل هذا ؛ انظر C ++ الأسئلة الشائعة لايت سؤال حول هذا.

C ++ أكثر تعقيدًا من C ، وهناك الكثير من الأشياء الإضافية التي قد لا تكون متوافقة.

لبضع أمثلة ، هل الاستثناء متوافق؟ هل يتم وضع كائنات البيانات بنفس الطريقة (في C ، يكون الترتيب مدرجًا ، ولكن في C ++ يمكن أن يختلف مع محددات الوصول)؟ هل تعمل VTABLES بنفس الشيء؟ كيف هو dynamic_cast تم التعامل معها؟

الفرق في الاسم المنطقي يمنعك من الارتباط ، ولكن هناك العديد من الاختلافات الأخرى التي يمكن أن تعضك.

من المحتمل أن تكون أفضل حالًا باستخدام إصدار GCC الذي فعلوه. هذا ما كان علي فعله في مشروع مماثل مرة واحدة.

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