mingw QT5.5.1转移到MSVC2010 QT5.5.1问题集锦

环境:win10+vc2010+msvc2010 QT+ QT ADD-IN

以下为移植过程中出现的问题处理,有更好的方法,可拍砖。

1.warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
解决:在Project -> Properties -> Configuration Properties -> C/C++ -> Advance 的 Disable Specific Warnings 中添加相应的警告编号:4819;

2.缺少头文件和库
可按照vc的方式正常添加。项目》属性》配置属性》VC++目录,而不要到QT5菜单下处理。

3.有中文的地方会出错。主要mingw QT utf-8编码的,vs不认
 QStringList stringlist;
 stringlist<<tr("参数")<<tr(“列表”)<<tr("功能“);
解决方法:
   vc2010  菜单项  文件->高级保存选项->编码改成简体中文(GB2312)-代码页 936 错误就消失了,到这步编译通过并能运行。

4.但界面显示仍旧出现乱码
      针对vs2010,需要下载sp1升级程序,可百度,或找我索要,按照步骤安装就行。好像vs2013就不要下载了,vs2012好像有说不行。大家如果刚好用到可以尝试一下。

然后在有中文的cpp中加入如下代码:
1.头文件加入#include<QTextCodec>
2.以下部分加到函数上方包含文件下方。
/*
MS VC++ 10.0 _MSC_VER = 1600  【VC2010】
*/
#if _MSC_VER >= 1600 

#pragma execution_character_set("utf-8") 

#endif 

3.主函数中加入
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));

奇迹出现,中文都能正常显示了


至此原来mingw QT下程序在msvc2010 QT下也能正常运行了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值