2005/12/3, 황윤성 <hys545(a)dreamwiz.com>om>:
Compiling...
precomp.cpp
c:\work\explorer\utility/shellclasses.h(556) : error C2504:
'IShellFolderPtr' : base class undefined
c:\work\explorer\utility/shellclasses.h(557) : error C2146: syntax error :
missing ';' before identifier 'super'
c:\work\explorer\utility/shellclasses.h(557) : error C4430: missing type
specifier - int assumed. Note: C++ does not support default-int
The problem is there are diferent versions of comdef.h around. You need to
configure your include path so, that the correct one from Microsoft Platform
SDK with the intrinsic declaration of 'IShellFolderPtr' is first.
See also the comment in line 210 of utility.h:
/* not necessary with correct include file order for comdef.h (path
"...\Program Files\Microsoft SDK\include" first)
#if _MSC_VER>=1300 //
VS.Net
#define _NO_COMUTIL
#endif
*/
If you don't get the path right or don't have available the correct include
file, you can try to define _NO_COMUTIL as compiler option. This bypasses
the VC++ smart COM pointers and uses a replacement instead.
Regards,
Martin