سؤال

أحاول استدعاء بعض وظائف برنامج الأغذية العالمي من مكتبة فئة C++ CLR (مشروع جديد -> Visual C++ -> CLR -> مكتبة الفئات)

شفرة:

#include <windows.h>
#include <fwpmu.h>
#pragma comment (lib, "fwpuclnt.lib")

مع ذلك فقط، يفشل العديد من ملفات التضمين من Windows SDK في التجميع.ماذا ينقصني؟

مثال:

Error 12 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (program files)\microsoft sdks\windows\v7.0a\include\fwptypes.h 336 1 testlib

يحرر:

لقد وجدت الحل، إنه خطأ في بعض ملفات الرأس: http://social.msdn.microsoft.com/Forums/en/wfp/thread/8fd93a3d-a794-4233-9ff7-09b89eed6b1f

وتعارض بين CLR ورأس آخر: http://social.msdn.microsoft.com/Forums/en/vcgeneral/thread/92c473d6-c963-44fa-9150-6c6af502112b

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

المحلول

نصائح أخرى

لقد واجهت هذا الخطأ أيضًا، لكن الإجابة الطويلة التي قدمتها Izm لم تحل المشكلة بالنسبة لي، لسوء الحظ.لقد حاولت أيضًا إصلاح Visual Studio وإعادة تثبيته، من بين أشياء أخرى، ولكن دون جدوى.

في حالتي، ما تم إصلاحه أخيرًا هو أعد تثبيت Windows SDK ل 8.0.لأي سبب من الأسباب، كان الملف مفقودًا من ملف C:\Program Files (x86)\Windows Kits\8.0\Include\um الدليل كان ينبغي أن يكون فيه.كان الملف موجودًا في أماكن أخرى مختلفة لحزم Windows SDK الأخرى (8.1 و10)، ولكن ليس في المكان الذي يستخدمه المشروع.

لا أعرف سبب فقدانه، لكنني اكتشفت أنه لم يكن موجودًا من خلال النظر في خصائص مشروع C++ ذي الصلة ورؤية ما تم تقييم خيارات تضمين الدلائل الموروثة عليه، والذي انتهى به الأمر إلى أن يكون مجلد مجموعة 8.0.اعتقدت أنه كان موجودًا منذ أن رأيت الملف في مجلدات أخرى، لكنه لم يكن في المجلد الصحيح، ربما لأن هناك شيئًا ما أفسد ملفات 8.0 SDK بالنسبة لي.

نأمل أن يساعد هذا أي شخص آخر يواجه الخطأ أو أخطاء مماثلة.

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