好久没用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. 彻底卸载 RAD Studio 2009/2010/XE+ 的步骤

    重新安装 RAD 系列时,建议将上一个版本彻底卸载,彻底卸载 RAD Studio 2009/2010/XE+ 的步骤: 控制面板-->添加/删除程序中执行了卸载操作以后, 还需要做以下工作: ...

  2. org.quartz.utils.UpdateChecker Checking for available updated version of Quartz..

    <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</ ...

  3. android手机游戏开发Cocos2d-x开发分享

    我想现在应该没有人没有玩过手机游戏了吧,当然所有人都玩过,但不是所有人都知道怎么去开发手机游戏,因为许多人都感觉做开发是一件很困难的事儿,身边的朋友也对此感觉难度很大.但是,现在我可以告诉你,手机游戏 ...

  4. cursor pin S wait on X

    cursor pin S wait on X: 这是10.2版本提出的mutex(互斥)机制用来解决library cache bin latch争夺问题引入的新事件,是否使用这种机制受到隐含参数_k ...

  5. COJ 0332 The Flash

    传送门:http://oj.cnuschool.org.cn/oj/home/problem.htm?problemID=302 The Flash 难度级别:B: 运行时间限制:1000ms: 运行 ...

  6. -_-#【模块】getElementsByClassName

    if (!document.getElementsByClassName) { document.getElementsByClassNameForMobile = function(search) ...

  7. Stm32 定时器 定时时间设置及PWM频率 占空比的设置总结

    一.定时器的时钟: 当SYSCLK等于72M,APB1等于36M APB2等于72M时,定时器的时钟为72M.注意图中这句话:如果APB1/APB2预分频器=1则频率不变,否则频率x2.如果此时,AP ...

  8. 12、ERP设计之 系统基础管理(BS)- 模块与菜单的关联

    ShareERP2013-10-03 模块:具有功能设计.权限绑定,链接用户菜单与系统的重要桥梁. 菜单:是用于显示与用户交互的重要入口,更是导航系统的舵手,所以它的设计直接影响到用户体验. 菜单可能 ...

  9. NS CKD

    NS 定义:ALB<30:高脂血症:大量蛋白尿>3.5g:浮肿 见于:肾小球肾炎.小血管炎.微血管血栓性疾病.NSAIDs引起的急性间质性肾炎.不见于肾大血管病.间质性.小管性疾病. 并发 ...

  10. C语言单元測试

    C语言单元測试 对于敏捷开发来说,单元測试不可缺少,对于Java开发来说,JUnit非常好,对于C++开发,也有CPPUnit可供使用,而对于传统的C语言开发,就没有非常好的工具可供使用,能够找到的有 ...