错误
E0513 不能将 "LPCSTR" 类型的值分配到 "LPCWSTR" 类型的实体
E0167 "LPCSTR" 类型的实参与 "LPCWSTR" 类型的形参不兼容
E0167 "char *" 类型的实参与 "LPCWSTR" 类型的形参不兼容
E0167 "const char *" 类型的实参与 "LPCWSTR" 类型的形参不兼容
原因
在vc6.0或者vc++2010上编译运行不会出现这个错误提示,因为vc6.0或者vc++2010默认使用字符ANSII编码方式,而vs默认使用UNICODE编码方式(使用 Unicode 字符集)。两种编码方式对一些字符所占用的内存空间大小不同,为了实现兼容,可以在vs中进行如下设置。
解决办法
1、右击项目文件,单击属性;
2、配置属性 — 高级 — 高级属性 — 字符集;
3、单击“使用 Unicode 字符集”,单击下拉按钮,将“使用 Unicode 字符集”改为“使用多字节字符集”;
4、单击确定即可,再次编译就不会再出现此类错误提示了。
参考
https://jingyan.baidu.com/article/7c6fb428629c3a80652c907e.html