مؤخرًا، أثناء العمل على VC 6.0، واجهت خطأً مزعجًا للغاية في عدة أماكن. يحدث الخطأ التالي: الارتباط... nafxcwd.lib(afxmem.obj): خطأ LNK2005: "عامل التشغيل void * __cdecl جديد (عدد صحيح غير موقع)" (؟؟2@YAPAXI@Z) تم تعريفه بالفعل في LIBCMTD.lib( new. obj) nafxcwd.lib(afxmem.obj) : خطأ LNK2005: "حذف عامل التشغيل __cdecl (void *)" (??3@YAXPAX@Z) المحدد بالفعل في LIBCMTD.lib(dbgdel.obj) Debug/DCap exe: خطأ فادح LNK1169: تم العثور على رمز واحد أو أكثر من الرموز المحددة الحل: لمثل هذا الخطأ، من الواضح أن كلا المكتبتين المرتبطتين توفران وظائف بنفس الاسم. لكن بالطبع لا يمكن تجاهل LIBCMTD.lib مباشرة، لأنها مكتبة لغة C. سبب حدوث هذه المشكلة هو أن مكتبة MFC تتعارض مع مكتبة C، ويجب تعيين الترتيب الذي تم ربطها به، أي nafxcwd.lib أولاً ثم LIBCCMTD.lib. لكن كلاهما مكتبات افتراضية، فكيف يمكن ضبط ترتيبهما؟ الحل: تجاهلها أولاً، ثم قم بإضافتها بالإضافة إلى ذلك. وهذا يعني: أدخل: nafxcwd.lib libcmtd.lib في تجاهل المكتبات في علامة التبويب "ارتباط"، ثم أدخل: nafxcwd.lib libcmtd.lib في وحدات الكائن/المكتبة في نفس علامة التبويب. وبهذه الطريقة، يصبح الترتيب الذي تمت إضافتها به هو الترتيب الذي نضطر إلى تحديده. ؟
يوسع