سؤال

لقد قمت بنقل أحد مشاريعي القديمة إلى VS2005 وأواجه تحذيرات من الرابط مثل

xxxxx.lib(xxxxxxxx.obj) : warning LNK4099: PDB 'vc60.pdb' was not found with ...; linking object as if no debug info

لقد حاولت الآن إعادة بناء المشروع ولكن التحذيرات لن تختفي.هل من المفترض حقًا البحث عن vc60.pdb وليس vc80.pdb؟لدي ملف vc80.pdb..

شكرًا

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

المحلول

ولديك .OBJ مرتبط في .LIB الخاص بك الذي تصحيح المعلومات فيه. تلك المعلومات التصحيح لديه رابط لvc60.pdb. إذا كان .LIB هو الخاص بك، تحتاج إلى إعادة ترجمة المصدر وإعادة إنشاء الملف .LIB لتحديث تلك الإشارة. إذا كان .LIB ليست لك، سيكون لديك لمجرد تجاهل هذا التحذير ولن تكون قادرة على تصحيح إلى مصدر هذا الملف كائن معين.

نصائح أخرى

يجب

وVS2005 عادة لا نبحث عن vc60.pdb، لا سيما بعد إعادة بناء كاملة.

وربما لديك بعض المكتبات طرف ثالث الذي لم يكن معاد ولا يزال يحتوي على إشارات إلى معلومات التصحيح القديمة؟

وعادة ما يتم إنشاء نوع ملف .pdb لأغراض التصحيح. وفقا لبعض المعلومات وجدت على نوع ملف .pdb تقول "هذا الملف يحتوي على معلومات التصحيح التي يتم استخدامها عند تنفيذ هذا البرنامج في وضع التصحيح".

وأرى بأن ما تتمتعون به فقط الحصول على تحذير ليس خطأ يجب تشغيل البرنامج إذا حصلت أخطاء الصفر.

وأعتقد أن المرة الوحيدة التي تحتاج هذا الملف من أجل التصحيح أو التنميط. عادة ما يتم استخدام الإعداد الافراج عنه في بناء النهائي للحصول على أسرع تنفيذ البرنامج. ويساعد هذا الأمل.

من المحتمل أن يكون ملف .lib تم تجميعه باستخدام VS2005.

تحتاج إلى إعادة ترجمة كل شئ.

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