我正在使用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。我怎么能改变这个?
感谢所有答案!
答案 0 :(得分:0)
您需要转到qt安装mkspecs目录并更改正在使用的平台的qmake.conf文件。
更改 定义+ = UNICODE 至 定义+ = _MBCS