当写一个gdi+的程序时,如果编译的过程中出现一大堆的错误,如:
1>c:\program files\microsoft sdks\windows\v6.0a\include\gdiplusimaging.h(74) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\gdiplusimaging.h(74) : error C2440: “初始化”: 无法从“const char [37]”转换为“int”
1> 没有使该转换得以执行的上下文
1>c:\program files\microsoft sdks\windows\v6.0a\include\gdiplusimaging.h(74) : error C2146: 语法错误 : 缺少“;”(在标识符“IImageBytes”的前面)
1>c:\program files\microsoft sdks\windows\v6.0a\include\gdiplusimaging.h(74) : error C2470: “IImageBytes”: 看起来像函数定义,但没有参数列表;跳过明显的函数体
。。。。。。。。。。。。。
。。。。。。。。。。。。。
解决方法是将stdafx.h中的这个宏定义给去掉
#define WIN32_LEAN_AND_MEAN
因为这个宏定义会排除windows.h中的一些头文件的包含
第二如果出现如下的问题
错误 1 error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用 MSVCRTD.lib那么1可能是工程的设置问题,如写的是win32console程序, 却用winMain做主函数,此时直接修改工程的设置,将subsystem 从windows 改为console就行了
第二种可能就是,winmain是写成这样_tWinMain, 此时就是tchar.h没包含造成的问题,包含此头文件就行。