一、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. EXCEL中R1C1样式引用

    主要引用http://club.excelhome.net/thread-759847-1-1.html Sub chengji() ' ' 宏1 宏 ' Dim Finalrow As Intege ...

  2. zk可视化工具

    也是无意中接触到zk,搞得有点头大,之前都是通过crt连通服务后,在服务上通过命令去查看节点下的数据的,十分的不方便,后来发现了可视化工具这玩意儿还真的是好用,看节啊点下的数据啥的一目了然,我用过的有 ...

  3. Ng第四课:多变量线性回归(Linear Regression with Multiple Variables)

    4.1  多维特征 4.2  多变量梯度下降 4.3  梯度下降法实践 1-特征缩放 4.4  梯度下降法实践 2-学习率 4.5  特征和多项式回归 4.6  正规方程 4.7  正规方程及不可逆性 ...

  4. Objective-C的泛型

    WWDC2015的明星是Swift.在Swift语言到2.0以后会被开源,这其中包括了protocol扩展和一个新的错误处理API. 苹果的小baby已经长成,并且意料之中的获得了开发者的关注.但是在 ...

  5. 20171126-handler消息机制理解

    1.handler消息机制的理解 http://www.jianshu.com/p/8343a39b8a2c?s_q_s_h_a_r_e_1MTAzNTIwODAxNTExNTg5NTkwMzE0Nz ...

  6. _技巧_SublimeText_打开文件乱码解决

    macOS属于Unix分支,默认使用UTF-8编码,当从Window 或者其他Linux 或 Unix系统 拷贝文件过来,由于Window系统使用GBK或者GB2312中文编码,所以会出现乱码现象. ...

  7. Hdu1796 How many integers can you find 2017-06-27 15:54 25人阅读 评论(0) 收藏

    How many integers can you find Time Limit : 12000/5000ms (Java/Other)   Memory Limit : 65536/32768K ...

  8. hdu 2642 Stars 【二维树状数组】

    题目 题目大意:Yifenfei是一个浪漫的人,他喜欢数天上的星星.为了使问题变得更容易,我们假设天空是一个二维平面,上面的星星有时会亮,有时会发暗.最开始,没有明亮的星星在天空中,然后将给出一些信息 ...

  9. express4.x socket

    在这个版本下使用socket,配置比较麻烦. 使用实例:http://www.open-open.com/lib/view/open1402479198587.html 配置文件:BarOrderPr ...

  10. 使用EF操作Oracle数据库小计

    1.建表 CREATE TABLE item.ORDERS( ORDERID ) CONSTRAINT PK_ORDERS PRIMARY KEY, ORDERNO ), STOREID ), STO ...