QT開發環境搭建


一、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-mingw482-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目錄中。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM