commdlg.h的错误
一个干净的工程,在别的机器上可以编过。在我机器上一编译就报如下错误:
Compiling resources...
Compiling...
StdAfx.cpp
c:\program files\microsoft visual studio\vc98\include\commdlg.h(51) : error C2065: 'APIENTRY' : undeclared identifier
c:\program files\microsoft visual studio\vc98\include\commdlg.h(51) : error C2065: 'LPOFNHOOKPROC' : undeclared identifier
c:\program files\microsoft visual studio\vc98\include\commdlg.h(51) : error C2501: 'UINT' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\commdlg.h(51) : error C2143: syntax error : missing ';' before '('
c:\program files\microsoft visual studio\vc98\include\commdlg.h(51) : error C2143: syntax error : missing ')' before ','
c:\program files\microsoft visual studio\vc98\include\commdlg.h(51) : error C2501: 'HWND' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\commdlg.h(51) : error C2501: 'UINT' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\commdlg.h(51) : error C2086: 'UINT' : redefinition
c:\program files\microsoft visual studio\vc98\include\commdlg.h(51) : error C2501: 'WPARAM' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\commdlg.h(51) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\include\commdlg.h(51) : error C2501: 'LPARAM' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\commdlg.h(57) : error C2146: syntax error : missing ';' before identifier 'lStructSize'
c:\program files\microsoft visual studio\vc98\include\commdlg.h(57) : error C2501: 'DWORD' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\commdlg.h(57) : error C2501: 'lStructSize' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\commdlg.h(58) : error C2146: syntax error : missing ';' before identifier 'hwndOwner'
c:\program files\microsoft visual studio\vc98\include\commdlg.h(58) : error C2501: 'HWND' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\commdlg.h(58) : error C2501: 'hwndOwner' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\commdlg.h(59) : error C2146: syntax error : missing ';' before identifier 'hInstance'
c:\program files\microsoft visual studio\vc98\include\commdlg.h(59) : error C2501: 'HINSTANCE' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\commdlg.h(59) : error C2501: 'hInstance' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\commdlg.h(60) : error C2146: syntax error : missing ';' before identifier 'lpstrFilter'
c:\program files\microsoft visual studio\vc98\include\commdlg.h(60) : error C2501: 'LPCSTR' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\commdlg.h(60) : error C2501: 'lpstrFilter' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\commdlg.h(61) : error C2146: syntax error : missing ';' before identifier 'lpstrCustomFilter'
c:\program files\microsoft visual studio\vc98\include\commdlg.h(61) : error C2501: 'LPSTR' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\commdlg.h(61) : error C2501: 'lpstrCustomFilter' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\commdlg.h(62) : error C2146: syntax error : missing ';' before identifier 'nMaxCustFilter'
.....
c:\program files\microsoft visual studio\vc98\include\commdlg.h(92) : fatal error C1003: error count exceeds 100; stopping compilation
Error executing cl.exe.
CalcTest.exe - 102 error(s), 0 warning(s)
请问,该如何解决???
[解决办法]
确定楼主的编译环境是完整的,不会是某些头文件丢失了吧。仔细去对比一下。
[解决办法]
工程的header file和sourse file里是不是没有包含一些.h或.cpp文件呀!或者是一些.h和.cpp中没有包含一些头文件呀。
[解决办法]
看来你用的是vc6.0吧。如果你是把整个工程都拷过来还是有问题的话,可能工程的设置有问题:project properties
另外,在上面的编译中还出现忘了加“;”,即分号!也许这个导致了编译器无法识别其他文件吧!