好久没用Qt了,今天又重新安装了一个,结果遇到不少问题

本机环境:VS2015,Qt5.7

装好后,就新建工程测试了一下,结果无法编译,提示

:-1: error: cannot open C:\Users\我的用户名,中文的\AppData\Local\Temp\main.obj.7148.0.jom for write

这一看又是中文路径的问题啊,但是,系统路径,不好改啊,jom是个什么东西?网上搜了一下,得到解决方法:

工具->选项->构建和运行:概要, 取消 <使用jom代替nmake>前的勾.再次编译,行了.

但是无法调试,说没配置调试器,继续搜索,微软官方下载Debugging Tools for Windows

官网提示三种方式:

第一种是安装WDK,里面自带.

第二种是安装SDK,里面自带.

第三种是在安装SDK时只选择安装Debugging Tools for Windows

好吧,第三种比较好,安装完毕,在<构建和运行>里设置一下,试一下,能用!

然后吧,中文乱码的问题!

Qt工程没有乱码,只要文件编码是utf-8.但是控制台工程会乱码,把文件编码改成gbk,不乱码了,但是Qt乱码了.

以前的解决方案是:文件编码用GBK,QT工程里添加设置编码的代码(网上搜到的那几句)

但是现在不想那么做,因为不想添加代码,同时要用UTF-8编码,所以要解决一下控制台程序乱码的问题.

网上搜索有没有设置编码的编译选项,没有,但是有一处说到,MSVC编译器支持UTF-8格式的源文件,但是如果不带BOM

会被认为是ANSI格式的文件...!!!

把源文件转成带BOM的UTF-8,正常输出中文!本以为这下都是UTF8应该没问题了吧,没想到QT程序源码带BOM的居然乱码

而不带BOM就不乱码.崩溃,疯狂测试了半天,总结各情况不乱码的方法如下
文件编码    QT程序    控制台程序
ANSI      u8"中文"    "中文"
UTF8无BOM  "中文"     只能函数转换了UTF8->ANSI
UTF8有BOM        u8"中文"      "中文"

Qt5遇到的问题的更多相关文章

  1. QT5利用chromium内核与HTML页面交互

    在QT5.4之前,做QT开发浏览器只能选择QWebkit,但是有过使用的都会发现,这个webkit不是出奇的慢,简直是慢的令人发指,Release模式下还行,debug下你就无语了,但是webkit毕 ...

  2. qt5中信号和槽的新语法

    qt5中的连接 有下列几种方式可以连接到信号上 旧语法 qt5将继续支持旧的语法去连接,在QObject对象上定义信号和槽函数,及任何继承QObjec的对象(包含QWidget). connect(s ...

  3. Ubuntu在wps-office等qt5程序下不能切换中文fcitx输入法的问题

    经检查,是缺了fcitx-qt的包.比如qt5的程序,需要一个叫fcitx-libs-qt5的包. 如果您在基于qt的程序下不能使用基于fcitx的中文输入法,请检查以下包是否已安装: sudo ap ...

  4. qt5中文代码编码编译问题

    qt中文代码用vs2010编译问题解决 总结说就是qt5默认UTF8不支持微软默认的ANSI(GB2312/GBK).解决办法是把中文字符串全部用 QString::fromLocal8Bit() 封 ...

  5. VS2010+Qt5.4.0 环境搭建(离线安装)

    原创作者:http://blog.csdn.net/solomon1558/article/details/44084969 前言 因项目需要Qt开发GUI,我根据网上资料及自己的经验整理了搭建vs2 ...

  6. qt5.5程序打包发布以及依赖【转】

    玩qt5也有一段时间了,惭愧的是一直没有好好的发布过程序,因为写的都是小程序没啥需要用到发布,而且qt也说不上很熟悉,本来打算到基本掌握qt之后再来研究研究怎么打包程序,最近晚上的空闲时间多了,闲着也 ...

  7. Qt5.5.1编译出来的程序出现libgcc_s_dw2-1.dll的解决方案

    问题如图: 输入"myudp2016.exe 1  " 后出现 这是因为没有在系统环境变量path里加上相关路径,我们添加如下路径: 比如说WIN7系统-开始-计算机-右键-属性- ...

  8. ubuntu 16.04 + N驱动安装 +CUDA+Qt5 + opencv

    Nvidia driver installation(after download XX.run installation file) 1. ctrl+Alt+F1   //go to virtual ...

  9. Qt5中的信号槽

    Qt4中的信号槽 Qt4中的信号槽是通过SIGNAL,SLOT两个宏,将参数转换成字符串.Qt编译前,会从源码的头文件中提取由signal和slot声明的信号和槽的函数, 将其组成一张信号和槽对应的字 ...

  10. qt5.4.0编译错误

    error1: 进程"C:\Qt\Qt5.4.0\Tools\QtCreator\bin\jom.exe"退出,退出代码 2 solution:去工具->选项->构建和 ...

随机推荐

  1. 过多if-else分支的优化

    http://www.udpwork.com/item/9294.html 我想谈一谈这个话题是因为我的上一篇博客在ITEye上有一些朋友回复,说if-else过多的分支可以使用switch或者责任链 ...

  2. 揭开.NET消息循环的神秘面纱(GetMessage()无法取得任何消息,就会进入Idle(空闲)状态,进入睡眠状态(而不是Busy Waiting)。当消息队列不再为空的时候,程序会自动醒过来)

    揭开.NET消息循环的神秘面纱(-) http://hi.baidu.com/sakiwer/item/f17dc33274a04df2a9842866 曾经在Win32平台下奋战的程序员们想必记得, ...

  3. 哈希集合——hashSet

    /**     哈希集合特点:存取顺序不确定,同一个哈希值的位置可以存放多个元素,                   哈希集合存放元素的时候是先判断哈希地址值:hashCode()是否相同,如果不同 ...

  4. <<开源硬件创客 15个酷应用玩转树莓派>>

    本书共分18章,前3章是本书的基础章节,主要介绍了树莓派的一些基本情况和基本操作,来让读者了解树莓派的前世今生,掌握树莓派基本的使用方法.第4~18章主要介绍15个以树莓派为载体的酷炫应用,大家可以按 ...

  5. OJ技巧

    防爆盾: #pragma comment(linker,"/QUEUE:10240000,10240000") #pragma comment(linker,"/STAC ...

  6. JAVA调用.NET WebService终极方案(包含对SoapHeader的处理)

    一.前言:      今日部门的产品需要用到短信功能,需要走公司统一的接口,而该短信接口是由.net开发的,利用两天时间彻底搞定了用java来调用.net 的web service,包括对soap h ...

  7. HDOJ的题目分类

    模拟题, 枚举 1002 1004 1013 1015 1017 1020 1022 1029 1031 1033 1034 1035 1036 1037 1039 1042 1047 1048 10 ...

  8. CSU 1111 有三户人家共拥有一座花园,每户人家的太太均需帮忙整理花园。A 太太工作了5 天,B 太太则工作了4 天,才将花园整理完毕。C 太太因为正身怀六甲无法加入她们的行动,所以就打算出90元钱

    题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82974#problem/D 解题思路:本题的意思就是三位均出90,然后AB按做 ...

  9. 用python爬虫抓站的一些技巧总结

    1. [代码]最基本的抓站     ? 1 2 import urllib2 content = urllib2.urlopen('http://XXXX').read() 2. [代码]使用代理服务 ...

  10. cf590A Median Smoothing

    A. Median Smoothing time limit per test 2 seconds memory limit per test 256 megabytes input standard ...