2013-03-05 204 views
4

我使用贏& SDK & Win8的SDK構建VC++解決方案&的一部分(包括LIB &這些路徑包括VS2008的設置)。 但我在refclock.h頭文件中得到以下生成錯誤。 我不明白我們怎麼能得到一個標準的MSFT頭文件中的錯誤。任何人都可以幫助我解決這個問題嗎?生成錯誤的「refclock.h」頭文件,Windows平臺SDK

c:\program files\microsoft sdks\windows\v7.0\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2061: syntax error : identifier 'CAMSchedule' 
2>c:\program files\microsoft sdks\windows\v7.0\samples\multimedia\directshow\baseclasses\refclock.h(139) : error C2143: syntax error : missing ';' before '*' 
2>c:\program files\microsoft sdks\windows\v7.0\samples\multimedia\directshow\baseclasses\refclock.h(139) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
2>c:\program files\microsoft sdks\windows\v7.0\samples\multimedia\directshow\baseclasses\refclock.h(139) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
2>c:\program files\microsoft sdks\windows\v7.0\samples\multimedia\directshow\baseclasses\refclock.h(139) : warning C4183: 'GetSchedule': missing return type; assumed to be a member function returning 'int' 
2>c:\program files\microsoft sdks\windows\v7.0\samples\multimedia\directshow\baseclasses\refclock.h(178) : error C2143: syntax error : missing ';' before '*' 
2>c:\program files\microsoft sdks\windows\v7.0\samples\multimedia\directshow\baseclasses\refclock.h(178) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
2>c:\program files\microsoft sdks\windows\v7.0\samples\multimedia\directshow\baseclasses\refclock.h(178) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
2>c:\program files\microsoft sdks\windows\v7.0\samples\multimedia\directshow\baseclasses\refclock.h(139) : error C2065: 'm_pSchedule' : undeclared identifier 
2>c:\program files\microsoft sdks\windows\v7.0\samples\multimedia\directshow\baseclasses\refclock.h(166) : error C2065: 'm_pSchedule' : undeclared identifier 
2>c:\program files\microsoft sdks\windows\v7.0\samples\multimedia\directshow\baseclasses\refclock.h(166) : error C2227: left of '->GetEvent' must point to class/struct/union/generic type 
+0

在包含此文件之前是否有任何聲明或包含頭文件?也許在那裏有一個丟失的分號? – 2013-03-05 10:21:58

+0

在代碼中,我沒有直接包含refclock.h,即沒有在源代碼中refclock.h refreence。但我真的不明白這是怎麼回事? – codeLover 2013-03-05 10:28:46

回答

7

這是由refclock.h頭文件中的錯誤以及您的包含目錄在Visual Studio中指定的順序引起的。

你需要有基類的目錄(樣品/多媒體/ DirectShow中)以前的SDK包括目錄,因爲它們都具有一個schedule.h文件和refclock.h使用<>不是「」,爲包括。