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

来源:互联网 发布:xlplayer mac 没声音 编辑:程序博客网 时间:2024/06/11 12:57
环境: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下也能正常运行了


0 0