0. 背景

最近在学习QtCreator(版本:4.8.1;编译器:MSVC 2017 64-bit),遇到了一些问题,特记录如下。(

1. 引用库

QtCreator可以直接包含Windows.h,但是没有默认引用User32.lib,所以需要在设置里面引用,步骤如下:

右键点击左边栏的项目名称,点添加库,之后跳出一个选择框。如果是像上面说的这种能够直接包含头文件的就选系统库,而对于网上下载下来的包括头文件和静态库文件的就选外部库。之后按说明填就行了。注意添加完之后,需要在程序中添加一行#pragma comment(lib,"User32.lib")才行。

2. 编码

QtCreator在编辑文件时通常用的是utf-8,然而msvc编译器认的是系统的编码,一般是gtk,所以会导致编译之后含有中文的字符串在命令行会变成“锟斤铐”,在窗口中则乱码。为此我们需要强制使编译器按utf-8编译,可在程序中添加一行#pragma execution_character_set("utf-8")。

3. 命令行输出

通常qmake编译出来的程序一般是不带命令行的,我们可以在.pro文件中加入一行CONFIG += console改变这个设置,然后就可以用io函数了,IDE可以在底部“3 应用程序输出”处看到命令行输出的内容。注意:当在.pro文件中加入这句话后,以后如果想编译出不带命令行的程序,不仅需要删去这句话,还要额外加入CONFIG += console才行。

4. 资源文件

把程序中用到的图片等文件打包进程序的步骤如下:

在左边栏新建.qrc文件,然后添加前缀,注意这个前缀和资源的路径没有关系,它仅仅是为了增加可读性,因此是可以任取的。添加完前缀后添加资源文件。此时.pro文件中应该多出一句RESOURSES += XX.qrc。最后在程序中引用时,直接在路径字符串里写:前缀资源文件名即可。如前缀是/,资源是icon文件夹里的mouse.ico,那么字符串写:/mouse.ico。

5. 程序图标

给程序设定图标步骤如下:

在左边栏新建一个空文件命名为icon.rc,然后在里面添加IDI_ICON1 ICON DISCARDABLE "mouse.ico"mouse.ico是你要的图标文件名,之后在.pro文件里添加一行RC_FILE += icon.rc,然后用release选项编译就能看到了。

6. 打包程序

编译出来的程序不能直接运行,需要处理依赖。Qt已经为我们提供了这个工具,只需在开始菜单中启动“Qt 5.12.1 (MSVC 2017 64-bit)”,然后cd到程序所在目录,之后输入命令windeployqt 程序名,它就会将程序的依赖复制到当前文件夹,然后尝试一下哪些是不需要的删除即可。

使用QtCreator遇到的一些问题的更多相关文章

  1. Ubuntu16.04 VTK7.1.0+QT4.8.6+QtCreator开发环境配置

    VTK需要OpenGL3.0或更高版本的驱动,但虚拟机下的Ubuntu不支持OpenGL3.0,或者自己按网上教程配置之后也能支持,但过程相当繁琐,本人试验失败. 最终决心采用双系统,装好之后,执行g ...

  2. ubuntu qtcreator 硬件权限问题

    在使用 qtcreator 在 ubuntu(debian.mint 等类同)下做开发时,常用到权限问题,无法直接操作硬件,比如串口等. 办法之一是使用 root 打开 creator,进而进行其他操 ...

  3. [Qt5] Develop openCV3 by QML on Qt-creator

    QML的酷炫控件,适合移动设备开发. qt-creator的跨平台是QML与opencv的粘合剂. 关键: QImage有若干种格式,转化为相应的Mat. Mat处理完后,还要正确得还原为原来格式的Q ...

  4. Terminal中输入命令直接打开QtCreator,以及创建其桌面快捷方式

    工业项目设计学习第一步,熟悉开发工具 Qt学习论坛,东西多,但也杂 emouse的博客,以前学习STM32开发环境搭建时也是参考这位博主的 更多详细的步骤在上面都能找到,今天先不写,等明天把硬件设备全 ...

  5. 解决 QtCreator 3.5(4.0)无法输入中文的问题

    解决 QtCreator 3.5.1无法输入中文的问题 [TOC] 环境是ubuntu 15.10 ubuntu软件源中下载安装的fctix-libs-qt5现在没有用,版本太旧了. 自己下载fcti ...

  6. linux下QtCreator无法输入中文的情况

    解决linux下QtCreator无法输入中文的情况 本文由乌合之众 lym瞎编,欢迎转载 blog.cnblogs.net/oloroso 本文由乌合之众 lym瞎编,欢迎转载 my.oschina ...

  7. QtCreator动态编译jsoncpp完美支持x86和arm平台

    如果是做嵌入式开发. 在Qt下支持JSon最好的办法,可能不是采用qjson这个库.QJson这个库的实例只提供了x86环境下的编译方法. Installing QJson-------------- ...

  8. VS2010 win7 QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序

    下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip, 不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0 ...

  9. 解决ubuntu14.04下Qt 5.3.1下的QtCreator fcitx,ibus不能输入中文

    http://my.oschina.net/u/219482/blog/341452 感谢作者 ubuntu 14.04从Qt官网下载的最新版qt,安装过程很顺利,但却发现没办法输入中文(我用的是 f ...

  10. Linux QtCreator设置mingw编译器生成windows程序

    Qt跨平台,那必须在Linux平台编译一个可以在windows下运行的Qt程序才行,当然还得和QtCreator环境弄在一起才行. 工作环境:Centos 7 yum install qt5-qt* ...

随机推荐

  1. postman切换环境

    原文链接:https://www.cnblogs.com/nicole-zhang/p/11498384.html 通常会有多个测试环境,针对同一个接口来说,可能只是域名有变化,此时可以添加postm ...

  2. Android中的SharedPreferences存储

    一.前言 不同于文件的存储方式,SharedPreferences是使用键值对的方式来存储数据的.也就是说,当保存一条数据的时候,需要给这条数据提供一个对应的键,这样在读取数据的时候就可以通过这个键把 ...

  3. Quartz.Net系列(六):Quartz五大构件Trigger之TriggerBuilder解析

    所有方法图: 1.Create.Build Create:创建一个TriggerBuilder Build:生成Trigger var trigger = TriggerBuilder.Create( ...

  4. Tensorflow 中(批量)读取数据的案列分析及TFRecord文件的打包与读取

    内容概要: 单一数据读取方式: 第一种:slice_input_producer() # 返回值可以直接通过 Session.run([images, labels])查看,且第一个参数必须放在列表中 ...

  5. Apache Hudi:云数据湖解决方案

    1. 引入 开源Apache Hudi项目为Uber等大型组织提供流处理能力,每天可处理数据湖上的数十亿条记录. 随着世界各地的组织采用该技术,Apache开源数据湖项目已经日渐成熟. Apache ...

  6. 01[了解] Dubbo

    什么是Dubbo? 概述 Dubbo是阿里巴巴内部使用的分布式业务框架,2012年由阿里巴巴开源. 由于Dubbo在阿里内部经过广泛的业务验证,在很短时间内,Dubbo就被许多互联网公司所采用,并产生 ...

  7. WAF产品记录

    WAF产品化 2011-1-13 目标:稳定的版本 和 标准的手册   1.硬件差异问题,争取了OEM提供硬件样机. 2.OEM功能本来在我们手里,为了更好产品化,配合移交工作. 3.我们做好 产品生 ...

  8. 深入理解RocketMQ(九)---实战(控制台搭建)

    rocketMQ控制台搭建 (1)下载rocketmq-console代码:https://github.com/875279177/incubator-rocketmq-externals (2)修 ...

  9. node+ajax实战案例(5)

    6.添加客户 6.1.点击添加按钮,弹出表单框 // 添加用户 显示对话框 var addBtn = document.getElementById('add-btn'); var addUser = ...

  10. 搭建nginx服务器nginx-1.6.2.tar.gz

    2016-06-17 09:06:52   一.实验环境 CentOS6.5 软件:nginx-1.6.2.tar.gz 二.实验步骤 1)安装nginx所依赖的软件 yum -y install p ...