很感謝這篇文張

刚申请了空间,今晚是我第一次写日记,以后有空就写写.让这日记来记录我的成长.
     刚学我windows程序设计,在windows programming 第四\章碰到了麻烦,书中例子无法编译,google中查到了解决方法,http://blog.sina.com.cn/u/4388a973010004h9
 
   现象:
 
在编译时出现如下错误:
Compiling...
sysmets.cpp
d:\program  files\microsoft  visual  studio\myprojects\sysmets\sysmets.h(149)  :  error  C2065:  'SM_MOUSEWHEELPRESENT'  :  undeclared  identifier
d:\program  files\microsoft  visual  studio\myprojects\sysmets\sysmets.h(151)  :  error  C2065:  'SM_XVIRTUALSCREEN'  :  undeclared  identifier
d:\program  files\microsoft  visual  studio\myprojects\sysmets\sysmets.h(153)  :  error  C2065:  'SM_YVIRTUALSCREEN'  :  undeclared  identifier
d:\program  files\microsoft  visual  studio\myprojects\sysmets\sysmets.h(155)  :  error  C2065:  'SM_CXVIRTUALSCREEN'  :  undeclared  identifier
d:\program  files\microsoft  visual  studio\myprojects\sysmets\sysmets.h(157)  :  error  C2065:  'SM_CYVIRTUALSCREEN'  :  undeclared  identifier
d:\program  files\microsoft  visual  studio\myprojects\sysmets\sysmets.h(159)  :  error  C2065:  'SM_CMONITORS'  :  undeclared  identifier
d:\program  files\microsoft  visual  studio\myprojects\sysmets\sysmets.h(161)  :  error  C2065:  'SM_SAMEDISPLAYFORMAT'  :  undeclared  identifier
d:\program  files\microsoft  visual  studio\myprojects\sysmets\sysmets.cpp(93)  :  error  C2039:  'iIndex'  :  is  not  a  member  of  '__unnamed'
                d:\program  files\microsoft  visual  studio\myprojects\sysmets\sysmets.h(6)  :  see  declaration  of  '__unnamed'
Error  executing  cl.exe.
 


解决方法:

那些是WindowNT里才能使用的常量,它是是被条件编译的。
需要在的sysmets.cpp文件的最前面加一句
#define WINVER 0x0500

另外还有一个地方有错误在sysmets.cpp中
GetSystemMetrics  (sysmetrics[i].iIndex)
改为
GetSystemMetrics (sysmetrics[i].Index)
 
 
按这篇文章解决了问题,又有学习的热趣,对才能cncoolker表示感谢!
以后有碰到问题和解决的过程都会把他记录下来!vc的编译问题--error <wbr>C2065

 

 

 

你可能感兴趣的:(很感謝這篇文張)