خطأ رابط 2005، 2001 في Visual Studio 2008
-
06-07-2019 - |
سؤال
ولدي مشروع ATL COM الذي جمع غرامة في VC6 الذي يعطي الأخطاء رابط التالية عند تصنيف في VS2008.
<اقتباس فقرة>والخطأ LNK2005: "باطل * __cdecl المشغل الجديد (صحيح غير الموقعة) " (؟؟ 2 @ YAPAXI @ Z) التي سبق تحديدها في LIBCMT.LIB (new.obj) الملف: uafxcw.lib
اقتباس فقرة> وهناك ثلاثة أخطاء مماثلة لdelete
، new[]
وdelete[]
.
وراجعت عدة مقالات على الشبكة، ومعظمهم من القول بأنها صراع بين دلس CRT وMFC. (الأمر الذي يتم التقاطها). وتشير إحدى المادة إضافة ليب متضاربة إلى قائمة ليب تجاهل في إعدادات المشروع.
والقيام بذلك، وأنا تركت مع خطأ واحد:
<اقتباس فقرة>والخطأ LNK2001: لم يتم حلها الخارجية رمز __afxForceEXCLUDE الملف: LMAN.Lib
اقتباس فقرة>والنقاط الخطأ إلى ليب يتم الإشارة إليها بواسطة هذا المشروع (أ ليب التي وضعها لنا).
وأي أفكار حول كيفية إصلاح هذا؟ أنا متأكد من أن هذا سيكون مشكلة مشتركة للناس القيام الهجرة إلى VS 2008.
المحلول
وحلها.
ولم يكن مطلوبا أن استبعاد uafxcw.lib. فقط كان للتأكد من أن دلس MFC لم تستخدم. لدينا LMAN.lib ليب كان يستخدم Afxdisp.h (ودلل MFC) الذي لم يكن مطلوبا. I إزالة التضمين من هذا المشروع ومن ثم فويلا! - نجحت بناء
.