HoopChina Blog ->IT ->输出文字(笔记)——《Windows程序设计》
登陆 -> 注册 -> 博客管理 -> 搜索-> 回复主题

尤纳斯
2008-07-07 10:09

SYSMETS.H中有段内容是报错的:

  error   C2065:   'SM_MOUSEWHEELPRESENT'   :   undeclared   identifier  
  error   C2065:   'SM_XVIRTUALSCREEN'   :   undeclared   identifier  
  error   C2065:   'SM_YVIRTUALSCREEN'   :   undeclared   identifier  
  error   C2065:   'SM_CXVIRTUALSCREEN'   :   undeclared   identifier  
  error   C2065:   'SM_CYVIRTUALSCREEN'   :   undeclared   identifier  
  error   C2065:   'SM_CMONITORS'   :   undeclared   identifier  
  error   C2065:   'SM_SAMEDISPLAYFORMAT'   :   undeclared   identifier

在网上查了一下,原来是头文件预设中没有包括这几项声明。因为VC6.0中WINUSER.H中,那几个找不到的常量在#if(WINVER   >=   0x0500)之下。

WINVER   =   0x0500   就是说windows   的版本为5.0(即win2000),这种指定和你是在什么操作系统中编译的没有关系,因为vc6出来时win2000尚处于beta版,有一些2000新增的函数或者常量,不定义WINVER,vc6默认下是不认得的。

在sysmets.cpp中的include<windows.h>后加入#define   WINVER   0x0500,结果发现WINVER   redefinition,因为redefinition是发生在windows.h中,且windows.h中有#ifndef   WINVER   #define   WINVER   0x0400。

把#define移到include以前,就可以了。


共:1条记录
查看完整版本: [-- 输出文字(笔记)——《Windows程序设计》 --] [-- top --]


HoopChina Blog - powered by phpwind.net
HoopChina Blog ->IT ->输出文字(笔记)——《Windows程序设计》
登陆 -> 注册 -> 博客管理 -> 搜索-> 回复主题

尤纳斯
2008-07-07 10:09

SYSMETS.H中有段内容是报错的:

  error   C2065:   'SM_MOUSEWHEELPRESENT'   :   undeclared   identifier  
  error   C2065:   'SM_XVIRTUALSCREEN'   :   undeclared   identifier  
  error   C2065:   'SM_YVIRTUALSCREEN'   :   undeclared   identifier  
  error   C2065:   'SM_CXVIRTUALSCREEN'   :   undeclared   identifier  
  error   C2065:   'SM_CYVIRTUALSCREEN'   :   undeclared   identifier  
  error   C2065:   'SM_CMONITORS'   :   undeclared   identifier  
  error   C2065:   'SM_SAMEDISPLAYFORMAT'   :   undeclared   identifier

在网上查了一下,原来是头文件预设中没有包括这几项声明。因为VC6.0中WINUSER.H中,那几个找不到的常量在#if(WINVER   >=   0x0500)之下。

WINVER   =   0x0500   就是说windows   的版本为5.0(即win2000),这种指定和你是在什么操作系统中编译的没有关系,因为vc6出来时win2000尚处于beta版,有一些2000新增的函数或者常量,不定义WINVER,vc6默认下是不认得的。

在sysmets.cpp中的include<windows.h>后加入#define   WINVER   0x0500,结果发现WINVER   redefinition,因为redefinition是发生在windows.h中,且windows.h中有#ifndef   WINVER   #define   WINVER   0x0400。

把#define移到include以前,就可以了。


共:1条记录
查看完整版本: [-- 输出文字(笔记)——《Windows程序设计》 --] [-- top --]