GDI+ 编译问题

在使用GDI+编程时,可能会遇到编译错误,例如类型说明符缺失、无法转换错误等。这些问题通常由`WIN32_LEAN_AND_MEAN`宏定义引起,因为它排除了`windows.h`中的一些头文件。解决方法是移除这个宏定义。另外,如果`winmain`被定义为`_tWinMain`,可能是缺少`tchar.h`头文件,包含此文件即可解决问题。
摘要由CSDN通过智能技术生成

当写一个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没包含造成的问题,包含此头文件就行。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值