一、Qt发展史

1991年,由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架;

2008年,Nokia从Trolltech公司收购Qt, 并增加LGPL的授权模式;

2011年,Digia从Nokia收购了Qt的商业版权,从此Nokia负责Qt on Mobile, Qt Commercial由Digia负责;

2012年,诺基亚宣布将Qt软件业务出售给芬兰IT服务公司Digia。 2013年,7月3日,Digia公司Qt开发团队在其官方博客上宣布Qt 5.1正式版发布。

二、自问自答之问题探索

1. Qt SDK是什么?

是一个编译好、直接可以使用的软件开发包,里边包含:编译好的Qt库、IDE集成开发工具;

但是这些库和开发工具只运行在Windows、Linux/X11、Mac这三种主流的操作系统上边;

如果要把Qt移植到嵌入式平台上边的话是需要重新编译Qt库的源码(使用交叉工具)。

2. 了解官方的开发资源

(1)访问Qt的官方网站 http://www.qt.io/,进入“Download”栏 ,根据开发用途选择Qt版本:

①商用-收费;②内部部署、个人使用、学生使用;③基于LGPL或GPL协议的开放源代码式开发。

毫不犹豫,选择(2)或(3),结果一样,选(2)的过程中会问你要不要捐赠一些钱。

(2)接着来到下载网页 http://www.qt.io/download-open-source/ ,在这个网页中的横栏列表如下:

Qt Online Installers   在线Qt安装器,这个安装器会帮你下载并安装;
Qt Offline Installers   离线安装,要自己下载完之后自己动手安装;
Qt Creator                官方的IDE开发工具;
Other Downloads       其他下载:有以下两点值得关注的:
-->①Qt repositories at code.qt.io  Qt贮藏室-实质就是:Qt项目Git存储库,项目哦!
-->②Archive for old versions       旧版本的归档文件:在这里可以找到所有之前的Qt开发包【极力推荐这里下载】
Pre-releases             发布版本,应该是指最新的发布版本

(3)从旧版本的归档中下载 http://download.qt.io/ 简单介绍

主目录介绍:
snapshots/             快照:
online/                   在线资源:
official_releases/     官方发布的稳定版本 【这里下载SDK包或Qt开发源码】
ministro/                部门,指的是 Android 方面的资料
learning/                学习指导方面的视频文档资料,貌似大部分是Qt Quick的
development_releases/  开发版本,包括最新正在测试的版本、以前的测试版本
community_releases/     社区发布版,“民间版”
archive/                        官方归档目录,“归档”我的理解就是保存有价值的版本文件

3.使用官方资料部署开发环境

(1)Windows 7 - 64bit

  • 在官网下载QtCreate,安装;
  • 选好要使用的Qt库版本:qt-opensource-windows-x86-mingw-4.8.6-1.exe;
  • 安装Qt代码编译器:
    ①Microsoft Visual C++ :一般是VS2010这类开发软件使用;
    ②MinGW:在Windows上叫做 MinGW(Minimalist GNU for Windows)
    推荐选择MinGW-w64版本的,下载地址http://sourceforge.net/projects/mingw-w64/,下载mingw-w64-install.exe,
    接着进行在线安装,注意在安装窗口的“architecture”项选择:x86_64,“version”选:4.8.2,这个要和Qt库要求对应,其他自由发挥。
  • 安装完之后修改win7系统的环境变量“path”,添加上安装完之后“xxx/mingw-w64/bin”路径
  • 安装Qt库,放到最后是因为安装的过程要使用到MinGW编译器;
  • 剩下的就是如何配置使用QtCreate的问题。

(2)Ubuntu 12.04 - 64bit

  • 确保安装了:

sudo apt-get install libfontconfig1-dev libfreetype6-dev libx11-dev libxcursor-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxrandr-dev libxrender-dev

  • 从官网下载源码包:qt-everywhere-opensource-src-4.8.6.tar.gz
  • 放到Ubuntu系统中,解压,解压之后的源码默认编译配置就是适用于PC版的Linux系统,所以不用再去修改编译器相关的东西。
  • 配置生成Makefile文件:./configure   不带配置选项的时候是生成动态库
  • make            开始编译
  • make install   开始安装,默认安装在 /usr/local/Trolltech/Qt-4.8.6
  • 配置环境变量
    vim /etc/bash.bashrc    添加下面一行的内容:
    export PATH=/usr/local/Trolltech/Qt-4.8.6/bin:$PATH
  • 使环境变量生效
    source /etc/bash.bashrc
  • 查看qmake版本号:qmake -v,显示上边的Qt版本号即安装成功。
  • 编写测试程序:main.cpp,放在test目录下
    #include <QApplication> 
    #include <QPushButton>
    int main(int argc,char *argv[])
    {

    QApplication app(argc,argv);

    QPushButton button("hello button");
          button.show();

    app.exec();
          return 0;

    }

①qmake -project   //生成工程文件test.pro

②添加模块:vim test.pro
   QT += widgets
③qmake               //生成Makefile
④make                 //编译Qt工程
⑤./test                 //开始运行,结果:

【附注:编译版本】
Debug版:调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序
Release版:发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。

(3)嵌入式平台Qt库编译 - A10处理器

主机编译环境:Ubuntu12.04-64bit OS
①确保主机已经安装好交叉编译器(A10支持硬件浮点计算)注:如果Ubuntu上已经安装过其他版本的交叉编译器,要把相应的环境变量注释掉的。

sudo apt-get install binutils-arm-linux-gnueabihf gcc-arm-linux-gnueabi
sudo apt-get install gcc-arm-linux-gnueabihf cpp-arm-linux-gnueabihf
sudo apt-get install g++-arm-linux-gnueabihf

②同样使用Ubuntu12.04的Qt源码,qt-everywhere-opensource-src-4.8.6.tar.gz,解压之后修改编译器--交叉编译工具:

sudo vim mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf ,修改如下内容:

QMAKE_CC = arm-linux-gnueabihf-gcc
QMAKE_CXX = arm-linux-gnueabihf-g++
QMAKE_LINK = arm-linux-gnueabihf-g++
QMAKE_LINK_SHLIB = arm-linux-gnueabihf-g++
QMAKE_AR = arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY = arm-linux-gnueabihf-objcopy
QMAKE_STRIP = arm-linux-gnueabihf-strip

③不使用优化:修改如下文件

sudo vim mkspecs/common/g++-unix.conf 修改为:
QMAKE_LFLAGS_RELEASE += -Wl,-O0

④生成Makefile文件:编译静态库、不编译demo、tool等
./configure -static -nomake demos -nomake examples -nomake tools -no-exceptions
期间选择:o  ->  y
⑤make    开始编译
⑥make install  安装库到默认的路径/usr/local/Trolltech/QtEmbedded-4.8.6-arm,之后Qt Creator就可以使用这个目录下边的qmake等工具来编译嵌入式平台的Qt程序了。
⑦最后:要让交叉编译的Qt可执行程序在开发板上运行起来还需要把QtEmbedded-4.8.6-arm目录下的include和lib目录文件拷贝到开发板Linux操作系统的根目录的/include和/lib目录中。

QT开发环境搭建的更多相关文章

  1. qt学习教程1.qt开发环境搭建

    qt学习教程1.qt开发环境搭建 首先下载qt 下载地址:http://download.qt.io/archive/qt/ 此教程使用的版本为5.1.1 下载好后,打开安装包,然后点下一步 选择一个 ...

  2. Zynq7000开发系列-6(QT开发环境搭建:Ubuntu、Zynq)

    操作系统:Ubuntu14.04.5 LTS 64bit Qt:Qt 5.4.2 (qt-opensource-linux-x64-5.4.2.run.qt-everywhere-opensource ...

  3. Qt开发环境搭建 - Windows + VS2010 + VS插件

    Qt 开发环境搭建 - Windows+VS2010+VS插件 1.Qt在Windows平台下的三种开发环境 方案 编辑器 编译器 调试器 一 Qt Creator MinGW GDB 二 Qt Cr ...

  4. Linux下使用VsCode进行Qt开发环境搭建

    最近在Linux上搞Qt, vim环境还用不太习惯, QtCreator之前使用时莫名其妙崩溃然后丢失代码之后就被我彻底放弃了, 于是研究了一下用VsCode进行Qt开发. 首先是系统环境和下载安装包 ...

  5. 【Qt开发】【VS开发】VS2010+Qt开发环境搭建

    QT与JAVA有点类似,也是一种跨平台的软件(当然在windows平台和linux平台需要安装相应的QT开发环境和运行库,类似于JAVA在不同平台下的虚拟机JVM环境),因此对于某些需要同时支持win ...

  6. VS2008下QT开发环境搭建(转)

    原博文地址:http://blog.csdn.net/sunnyboycao/article/details/6364444 VS2008集成QT4.7.2环境搭建 作者:jimmy 日期:2011- ...

  7. Win7下 OpenCV+Qt开发环境搭建

    1.所需软件工具: (1)OpenCV开发库,2.4.9版:包括源文件(source文件夹)和编译后的文件(build文件夹),但最好自己使用CMake又一次编译.否则easy出错. (2)Qt Cr ...

  8. Opencv + opencv_contrib + Tesseract 之Qt开发环境搭建

    1.软件包准备 opencv源码包地址:                官网  github opencv_contrib源码包地址:   github Tesseract源码包地址:        ...

  9. Visual Studio + Qt开发环境搭建

    1. 安装Visual Studio 2015 Visual Studio 2015下载地址如下,安装比较常规,不做介绍. Visual Studio Enterprise 2015 with Upd ...

随机推荐

  1. idea设置字体大小

    第一次玩儿idea,也是个新手小白,甚是惭愧,也是一步步慢慢摸索,下面我们按照步骤一步步操作 就可以了. 1.首先,先设置代码的字体大小: 2.设置周围菜单栏的字体大小: 3.设置控制台的字体大小:

  2. IntelliJ IDEA 2017版 使用笔记(五) 模板 live template自定义设置(二) ;postfix使用;IDE快捷键使用

    一.live template 活模板     就像这个单词的含义一样,live template就是一个高效的提高代码,书写速度的方式,(live template位置File-----settin ...

  3. 深入浅出javascript(五)函数

    全局函数 自定义函数 函数对象 函数的属性和方法 一.全局函数 全局函数不同于内置对象的方法(来源于网络),一共有7个,可以直接使用. escape( ).eval( ).isFinite( ).is ...

  4. winSocket编程(一)WSAStartup

    /******************************************************************** 更新日期:2017-11-07 10:33:08* 进度:完 ...

  5. 学习c++需要知道

    1.c++投入和经济产出比目前较低,c++很复杂,学习难度高.周期长.而且开发效率低. 2.但是c++趋紧于完美语言,它囊括了多种编程范型.它运行效率高,对计算机有着极致的控制能力.适用于低层. 3. ...

  6. 从kepware定时取web api内容

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  7. ubuntu 开机自启(2B的经历)

    上午写了很细致的开机自启说明文档(需打开terminal进行输出认证).睡了一下午,回来楼主说,联想PM要用Ubuntu Server 当服务器,必须用命令行实现.. 连续各种百度谷歌,看了N多文档, ...

  8. AngularJS 承诺 Promise

    一.概念解释 全称是未来与承诺,Futures and promises,是一种编程模式,不是AngularJS首创.javascript里有个流行库Q,而AngularJS是$q,其就是从Q引入的: ...

  9. HyperServer 中的 SSL 支持

    HyperServer 中的 SSL 支持 DLL 模式不需要 SSL 配置, 因为 web 服务器 (如 IIS) 将承担 ssl 配置和 ssl 证书的责任. 对于独立和服务模式, ssl 配置是 ...

  10. 用指定的用户名和密码无法登录到该ftp服务器

    今天在win2008 R2 服务器上默认部署FTP站点时遇到了两个小问题,在网上找了好久资料后发现还是解决不了问题,最终找到问题的原因,在此共享给大家 1.Windows无法访问此文件夹.请确保输入的 ...