Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MSVC 2010中的Qt5项目,需要多字节字符集,但需要更改项目';s字符集不';行不通_C_Visual Studio 2010_Qt_Unicode_Multibyte - Fatal编程技术网

MSVC 2010中的Qt5项目,需要多字节字符集,但需要更改项目';s字符集不';行不通

MSVC 2010中的Qt5项目,需要多字节字符集,但需要更改项目';s字符集不';行不通,c,visual-studio-2010,qt,unicode,multibyte,C,Visual Studio 2010,Qt,Unicode,Multibyte,我正在MSVC中使用Qt进行第一步。我正在使用VisualStudio2010和Qt5.3 一切正常,但现在我有遗留的C代码,我必须包括在我的项目中。此c代码使用8位字符加载DLL和其他内容,因此为了使其在MSVC中工作,我必须将项目的字符集从Unicode更改为多字节。这是正常工作的正常C++应用程序。p> 但是当我现在创建一个Qt应用程序并使用这个遗留代码时,项目似乎使用Unicode,尽管我已经在Qt应用程序的属性中启用了多字节字符集。例如,我得到以下错误: 错误C2664:“GetMod

我正在MSVC中使用Qt进行第一步。我正在使用VisualStudio2010和Qt5.3

一切正常,但现在我有遗留的C代码,我必须包括在我的项目中。此c代码使用8位字符加载DLL和其他内容,因此为了使其在MSVC中工作,我必须将项目的字符集从Unicode更改为多字节。这是正常工作的正常C++应用程序。p> 但是当我现在创建一个Qt应用程序并使用这个遗留代码时,项目似乎使用Unicode,尽管我已经在Qt应用程序的属性中启用了多字节字符集。例如,我得到以下错误:

错误C2664:“GetModuleFileName”:无法将参数2从“char[260]”转换为“LPWSTR”

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


谢谢你的回答

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

改变 定义+=UNICODE 到 定义+=\u MBCS