我在VS 2008得到以下錯誤:MIDL:錯誤MIDL9008
車庫停車場:錯誤MIDL9008:內部編譯器的問題 - 關於如何找到一個解決辦法的建議,請參閱文檔。
MIDL:斷言失敗:(RC < _MAX_DIR)& &(RC!= 0),文件d:\長角\ COM \ RPC \ MIDL \前\ filehndl.cxx,線821
的問題是由下面的代碼文件%PROGRAMFILES%\Microsoft SDKs\Windows\v7.1\Include\Guiddef.h
在我已經打上<-----
行造成的:
#ifndef GUID_DEFINED
#define GUID_DEFINED
#if defined(__midl)
typedef struct {
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
byte Data4[ 8 ];
} GUID; <------
#else
typedef struct _GUID {
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
unsigned char Data4[ 8 ];
} GUID;
#endif
#endif
重命名或刪除「GUID」將解決內部編譯器的問題,但當然會導致許多其他問題。使用的代碼和midl.exe可執行文件(來自WinSDK v6.0)與其他計算機上的錯誤不會發生。任何人比重新安裝Windows有更好的主意?
感謝您的回答。如果其他人可以確認此解決方案適用於他們,請在評論中告訴我,我會將其標記爲答案。 – 2016-09-06 16:03:36