最近刚学用VC++6.0做界面,得推荐一免费界面库。但下载的示例代码
(下载页面:http://blog.csdn.net/ringphone/archive/2008/09/11/2911244.aspx)
,编译出现如下问题:
e:/ringsdk/include/ringheader.h(97) : error C2065: 'Header_ClearAllFilters' : undeclared identifier e:/ringsdk/include/ringheader.h(98) : error C2065: 'Header_ClearFilter' : undeclared identifier e:/ringsdk/include/ringheader.h(100) : error C2065: 'Header_EditFilter' : undeclared identifier e:/ringsdk/include/ringheader.h(101) : error C2065: 'Header_GetBitmapMargin' : undeclared identifier e:/ringsdk/include/ringheader.h(119) : error C2065: 'Header_SetBitmapMargin' : undeclared identifier e:/ringsdk/include/ringheader.h(120) : error C2065: 'Header_SetFilterChangeTimeout' : undeclared identifier Error
......
后来听说要安装PLATFORM SDK,就安装了,也包含了PLATFORM SDK目录下的include 与 library可还是不行。后来我就拿Header_ClearAllFilters字符全盘搜索文件(当时给气傻了才出此下策),发现有两个CommCtrl.h。
C:/Program Files/Microsoft Visual Studio/VC98/Include
D:/Program Files/Microsoft Platform SDK/Include
其中只有Platform SDK目录下的CommCtrl.h定义了Header_ClearAllFilters。这下我就明白了,原来默认先编译VC++6.0自带的CommCtrl.h,但这自带的却没有定义这函数。因此所以要使新正确的CommCtrl.h先编译到。则不仅应在Tools - options - Directories 下把platform sdk目录下的 include和library 加到Include files 与 Library files里,还要把platform sdk的排在最前面。
这里顺便发最后一个支持vc6.0的sdk下载地址
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm