كيفية تجاهل الطريقة الرئيسية من مكتبة مرتبطة ديناميكية في C ++
-
13-12-2019 - |
سؤال
في تطبيقنا نستخدم العديد من المكتبات المرتبطة ديناميكيا.لقد قمت مؤخرا بتحديث نسخة واحدة من هذه المكتبات.يقدم مطورو تلك المكتبة طريقة رئيسية منذ هذا الإصدار الجديد (لا تفعل شيئا أكثر من طباعة Hello World).
المشكلة هي أننا نستخدم GTEST و GMOCK، والتي تولد طريقة رئيسية خاصة بهم.عندما ندير الآن ثنائي الاختبار، نحصل فقط على "Hello World"، لذلك يتم اتخاذ الطريقة الرئيسية الخاطئة.
كيف يمكننا فرض الطريقة الرئيسية للاختبارات لاستخدامها؟
تحديث: يبدو أن هذه مشكلة gmock / gtest.عادة ما يتم إنشاء الطريقة الرئيسية، ولكن هذا ليس هو الحال لأنه يجد طريقة رئيسية موجودة بالفعل.
المحلول
لا توجد طرق في وضعك.يجب عليك إزالة الرئيسية من المكتبة المشتركة.هذا ببساطة لا ينتمي إلى هناك.
نصائح أخرى
كان لدي مشكلة مماثلة مع مكتبتين لهما بطرق رئيسية، تم حلها عن طريق تغيير ترتيب المكتبات إلى الرابط.