错误 1 error C2664: “MessageBoxW”: 不能将参数 2 从“const char [19]”转换

今天在运行我的第一课Nehe的OpenGL教程的时候,遇到了这么一个很是纠结的问题:error C2664: “MessageBoxW”: 不能将参数 2 从“const char [29]”转换为“LPCWSTR”,1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换。而且一共有类似的19个错误,这让我很是纠结,不过错误类型都是一样的,也就是说解决了一个就能解决所有,这是比较令人欣慰的!

下面的错误截屏:

这是一个字符集设置问题,只要在项目的相关属性修改一下设置就行了。解决办法如下:
选择”项目”菜单–>最后的”属性”->”配置属性”->”常规”->”项目默认值”->将字符集改为改为”未设置”(默认设置为:使用 Unicode 字符集)截图如下:

设置完成后,再次运行项目,编译获得通过,问题解决了。

补充:将字符集设为 使用多字符字节集也可以正确运行:

注意:本人的环境为Windows 7下的Microsoft Visual Studio 2008

原文地址:https://www.cnblogs.com/cappuccino/p/2624625.html