MSVC 2010中的Qt5项目需要多字节字符集,但更改项目的字符集不起作用

时间:2014-07-08 12:18:36

标签: c visual-studio-2010 qt unicode multibyte

我正在使用MSVC中的Qt执行我的第一步。我使用的是Visual Studio 2010和Qt 5.3。

一切正常,但现在我有遗留的C代码,我必须将其包含在我的项目中。这个c代码使用8位字符来加载DLL和东西,所以为了使它在MSVC中工作,我必须将项目的字符集从Unicode更改为Multibyte。这适用于普通的C ++应用程序。

但是当我现在正在创建一个Qt应用程序并使用这个遗留代码时,该项目似乎使用了Unicode,尽管事实上我在Qt应用程序中启用了多字节字符集。属性。所以我得到以下错误,例如:

错误C2664:' GetModuleFileNameW' :无法从' char [260]'转换参数2到' LPWSTR'

Qt应用程序似乎忽略了项目属性中的多字节字符设置,仍然使用Unicode。我怎么能改变这个?

感谢所有答案!

1 个答案:

答案 0 :(得分:0)

您需要转到qt安装mkspecs目录并更改正在使用的平台的qmake.conf文件。

更改 定义+ = UNICODE 至 定义+ = _MBCS