2010年4月7日星期三

error C2664: 'GetModuleFileNameW' : cannot convert parameter 2 from 'char [260]' to 'LPWCH'

 

在VC6中可以编译成功的代码在VS2005,VS2008中编译出错。

原因:LPWCH是指long pointer to wide char,VS2005和2008默认使用unicode编码,而vc6默认使用多字节编码。

解决方法:

(1)将char改为wchar_t,但是会引起很多问题(在既有代码中)

(2)在项目的属性>配置属性>常规中,将“字符集”由“使用Unicode字符集”改为“使用多字节字符集”

没有评论:

发表评论