用vs2005创建第一个win32程序(附解决error c2731 c2440方法)

本文介绍了在使用VS2005进行DirectX编程时遇到的error c2731和c2440错误,以及如何解决这两个问题。错误源于Unicode与编译器设置的冲突。解决c2731错误的方法是在引用字符串时使用_T()并包含<TCHAR.h>;解决c2440错误则可以通过条件编译定义_tWinMain。此外,还提供了一种更简便的方法,即在项目属性中将字符集改为多字节字符集。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我是学习DirectX编程的初学者,对于新安装的vs2005,有一些不熟悉。所以自己在网络上东找找西找找,终于编译成功了自己第一个win32程序。

首先自己选用的DirectX教材是《Beginning DirectX9》,就是这本书。

 

在确保自己具有c++基础上,可以开始进行windows编程了。在28页,我们可以看到怎么编辑win32项目的。

首先新建->项目,打开对话框,选择win32项目,然后可以键入项目名,点击确定,在向导(wizard)里选择“应用程序设置”(Application Settings),勾选空项目,再点完成(finish)。

在菜单->项目->添加新项,选中c++文件输入名称,然后添加,这样就可以添加了。

值得注意的是,由于我安装的是vs中文版,编译器是中文的,它使用的是unicode,所以英文原版的程序会在编译的时候出现error c2440,c2731,我找了网上的资料,发现就是因为和编译器的unicode相冲突。现在阐述一下解决方法。

c2731的解决方法:在凡是有""时,比如"DirectXExample",都要改成_T("DirectXExample"),然后添加代码:#include <TCHAR.h>

添加头文件,然后就可以解决问题了。

这样就可以解决这样的问题了。

c2440的解决方法:WinMain无法重载,这样解决。通过添加如下代码:

#ifdef UNICODE
#define _tWinMain wWinMain
#else
#define _tWinMain WinMain
#endif //!UNICODE

让编译器自动检测UNICODE,就可以将书上的源代码拷入,就可以完完全全地编译成功

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值