不能将参数 1 从“const char [17]”转换为“LPCWSTR”

本文解决在使用DirectX SDK9.0时遇到的错误问题,通过更改项目属性设置,将字符集从Unicode更改为多字节,成功解决了在新建项目中出现的错误,包括无法将字符串转换为LPCWSTR的问题。

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

我最近下了个DirectX SDK9.0, 我安装后打开里面的实例,编译成功了,我随后又自己建了个名字一样的项目,里面我什么都没改,直接复制的,就出现了下面这些错误:
d3dInit.cpp
d:\c++\文档\ff\ff\d3dinit.cpp(70) : error C2664: “MessageBoxW”: 不能将参数 2 从“const char [19]”转换为“LPCWSTR”
        与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
d:\c++\文档\ff\ff\d3dinit.cpp(76) : error C2664: “MessageBoxW”: 不能将参数 2 从“const char [17]”转换为“LPCWSTR”
        与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
d3dUtility.cpp
d:\c++\文档\ff\ff\d3dutility.cpp(25) : error C2440: “=”: 无法从“const char [13]”转换为“LPCWSTR”
        与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
d:\c++\文档\ff\ff\d3dutility.cpp(29) : error C2664: “MessageBoxW”: 不能将参数 2 从“const char [25]”转换为“LPCWSTR”
        与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
d:\c++\文档\ff\ff\d3dutility.cpp(37) : error C2664: “CreateWindowExW”: 不能将参数 2 从“const char [13]”转换为“LPCWSTR”
        与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
d:\c++\文档\ff\ff\d3dutility.cpp(41) : error C2664: “MessageBoxW”: 不能将参数 2 从“const char [24]”转换为“LPCWSTR”
        与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
d:\c++\文档\ff\ff\d3dutility.cpp(61) : error C2664: “MessageBoxW”: 不能将参数 2 从“const char [27]”转换为“LPCWSTR”
        与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
d:\c++\文档\ff\ff\d3dutility.cpp(120) : error C2664: “MessageBoxW”: 不能将参数 2 从“const char [24]”转换为“LPCWSTR”
        与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换

我想问下是我的环境配置错了吗? 如果错了,那为什么打开实例的时候编译成功了 。
谁能帮个忙,谢谢啦! 小弟初来匝道,还望说的详细点.
怎么改哦?

=============================================================

不需要改代码,你只要打开 项目 -》项目属性 , 在打开的对话框里找到 配置属性 -》 常规, 然后在右面的 字符集 这一栏把 【使用 Unicode 字符集】改成【使用多字节字符集】,然后就好了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值