خطأ LNK2005 يربط مكتبات OpenCV ثابتة مع Visual Studio و QT Creator
-
13-12-2019 - |
سؤال
قمت ببناء مكتبات OpenCV 2.3 ثابتة.يستخدم مشروعي حاليا الديناميكي بدون مشكلة، ولكن الآن أريد استخدام Libs ثابت.أضفت Libs إلى ملف .pro الخاص بي:
giveacodicetagpre.وتشمل الديرات:
giveacodicetagpre.عندما أحاول إنشاء هذه الأخطاء:
giveacodicetagpre.أي مساعدة أو اقتراحات موضع تقدير.
المحلول
على CMAKE، عند بناء المكتبات الثابتة OpenCV، إلى جانب عدم إلغاء تحديد Build_Shared_libs أقوم بتحرير Build_With_Static_Crt أيضا بشكل إضافي
نصائح أخرى
تأكد من أن خصائص المشروع -> خصائص التكوين-> C / C ++> رمز الرموز: مكتبة التشغيل هي متعددة الخيوط (/ MT)
يبدو أن المشكلة هي أن رابطك يحاول الجمع بين إصدارات مختلفة غير متوافقة من مكتبة وقت التشغيل Visual C ++ (CRT) في ثنائي واحد واحد.
اسمحوا لي أن أخمن في البرية: كل جزء من مشروعك والمكتباتأنت ترتبط ضد هي غير تم إنشاؤها بنفس خيارات توليد الكود في Visual C ++.
أتساءل عما إذا كان / مفتاح Nodefaultlib 'D حل هذا التحدي؟