سؤال

أنا أستخدم Windows 7 باستخدام Visual Studio 2012.

عندما أقوم بالتجميع، أحصل على الكثير من التحذيرات المتعلقة بإعادة تعريف الماكرو بسبب winerror.h مقابل dxgi.h، dxgitype.h، d3d11.h، d3d10.h؛على سبيل المثال DXGI_STATUS_OCCLUDED، DXGI_STATUS_CLIPPED، DXGI_STATUS_NO_REDIRECTION وما إلى ذلك.

أفترض أن هذا بسبب تثبيت Windows sdk 8.كيف يمكنني تجنب ذلك؟هل هناك طريقة يمكنني من خلالها استبعاد هذه المكتبات الجديدة من مشروعي؟

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

المحلول

ركضت هذه المشكلة باستخدام Visual Studio 2012 Express على نظام التشغيل Windows 8؛ ومع ذلك، كانت أخطائي نفسها تماما تقريبا، ويتم توسيط الإصلاح حول Windows SDK. كان هذا في MSDN (انظر # 5) :

D3DX لا يعتبر API الكنسي لاستخدام Direct3D في نظام التشغيل Windows 8، وبالتالي لم يتم تضمينه مع Windows SDK المقابل. التحقيق في حلول بديلة للعمل مع API Direct3D.

بالنسبة للمشاريع القديمة، مثل عينات DirectX DirectX SDK DirectX، مثل خطوات SDK DirectX SDK، تكون الخطوات التالية ضرورية لإنشاء تطبيقات مع D3DX باستخدام DirectX SDK:

تعديل الدلائل VC ++ المشروع على النحو التالي لاستخدام الطلب المناسب لرؤوس SDK والمكتبات.

  1. خصائص مفتوحة للمشروع وحدد صفحة الدلائل VC ++.
  2. حدد جميع التكوينات وجميع المنصات.
  3. اضبط هذه الدلائل على النحو التالي:

نصائح أخرى

لقد واجهت هذه المشكلة أثناء تجميع SlimDX باستخدام Visual Studios 2012 على نظام التشغيل Windows 8.يتم توريث تضمينات Windows SDK افتراضيًا بحيث يتم تحميلها بعد تضمين المشروع المحدد يدويًا الدلائل.لإصلاح هذه المشكلة، قم بإضافة Windows SDK كدليل التضمين الأول. $(WindowsSDK_IncludePath)

(yay، إجابتي الأولى على Stackoverflow)

وجدت أ، نأمل جيد، الحل البديل للمشكلة: قم بإجراء ملف رأسك الخاص، يتضمن Windows.h (D3D11 يتضمن ذلك على أي حال)، Undefines Windows Macros وتشمل D3D11.H.قم بتضمين هذا الرأس بدلا من D3D11.H. ملاحظة: من الواضح أن هذا يعطي الأولوية إصدارات D3D11 من التعريف، على تلك الخاصة بنظام Windows.H giveacodicetagpre.

واسمحوا لي أن أعرف ما تعتقد، ولا تعيق النقد.أنا جديد في هذا واعرف أن هذه قوة الغاشمة تماما وربما محفوفة بالمخاطر.

قمت بتغيير الإعدادات وشملت DirectX من Inside Windows Kits \ 8.0.

في الواقع أردت بدلا من ذلك أن أتجاهلها واستخدم رؤوس Windows والمكتبات التي استخدمتها من قبل، ولكن ربما لا تحدث الكثير من الفرق.

الشيء الوحيد هو أن الآن لم أعد الوصول إلى الأدوات المساعدة D3DX.

سريع الإصلاح السريع - سريع، كما هو الحال في "المحلول على المدى الطويل الأجل" - هو تغيير "مجموعة أدوات النظام الأساسي" ضمن الحل / الخصائص / عام - في علفي المحدد الذي حددته "Visual Studio 2015 - WindowsXP (V140_XP) "بدلا من" Visual Studio 2015 (V140) ".

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