سؤال

لقد حصلت مؤخرا على Visual Studio على كمبيوتر جديد، وإعداد DirectX عليه، ذهبت إلى الأدوات> الخيارات> المشاريع والحلول> أدلة VC ++ وتحت ملفات المكتبة إدخال جديد C:\Program Files\Microsoft DirectX SDK (August 2009)\Lib\x86

والآن ران برنامج اختبار (بشكل أساسي تهيئة DirectX) ويعمل بشكل جيد. ومع ذلك، إذا غيرت ...\Lib\x86 ل ...\Lib\x64, ، مما أحصل على خطأ رابط ذلك Direct3DCreate9 غير محدد:

1>main.obj : error LNK2019: unresolved external symbol _Direct3DCreate9@4 referenced in function "void __cdecl init(void)" (?init@@YAXXZ)
هل كانت مفيدة؟

المحلول

تحتوي مكتبات X86 على تطبيقات 32 بت، ومكتبات X64 لتطبيقات 64 بت.

يمكنك معرفة النظام الأساسي الذي تستهدفه في إدارة تكوين Visual Studio. ما لم يكن لديك سبب وجيه، يجب أن تكتب تطبيقات 32 بت، نظرا لأن تطبيقات 64 بت تتطلب الإصدار 64 بت من Windows لتشغيله.

نصائح أخرى

ال x64 يحتوي المجلد على ملفات مكتبة منصة AMD64 (Windows 64 بت). تحتاج إلى ترجمة طلبك ل 64 بت، أيضا. أيضا، تحتاج إلى إصدار 64 بت من Windows لتشغيل الملف القابل للتنفيذ المنتج.

حسنا، الإجابة البسيطة هي أن مكتبات X86 هي أنظمة تشغيل 32 بت ومكتبات X64 هي أنظمة تشغيل 64 بت.

ما عليك سوى تغيير مكتبة DirectX المرتبطة بإصدار خطأ أثناء قيامك (بكل الاحتمالات) في محاولة ربط رمز 32 بت إلى مكتبة 64 بت. ستحتاج إلى ترجمة التعليمات البرمجية الخاصة بك لاستهداف أنظمة التشغيل 64 بت للحصول على هذا الرابط بنجاح.

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