Linux 下QT安裝教程

2015-01-28linux

準備兩個文件:vim

qt-x11-opensource-src-4.5.3.tar.gzbash

qt-creator-opensource-linux-x86_64-3.3.0.run工具

一、得到源代碼測試

src 官網下載地址:ftp://ftp.qt.nokia.com/qt/source/nuxt

2009 年 10 月 1 日發佈的 qt-x11-opensource-src-4.5.3.tar.gz,大小 122 Mb。3d

二、解壓縮orm

tar xvfz qt-x11-opensource-src-4.5.3.tar.gzip

三、生成 makefile 文件ssl

./configure

這個時候他會問你:「Which edition of Qt do you want to use?」

而後給你兩個類型供選擇:

Type ''c'' if you want to use the Commercial Edition. 

Type ''o'' if you want to use the Open Source Edition.

第一個是商業版,第二個是自由版。

選擇 ''o''(Qt/嵌入式自由版是Qt爲了開發自由軟件提供的嵌入式版本)。

這時候,出現許可界面。

選擇  ''yes'' 接受許可協議。

開始生成 makefile 文件。這個大約須要 5 -10 分鐘的時間。

四、Qt 編譯

gmake            //如果此處出錯,解決辦法見下面

這個過程時間比較長,須要兩個小時左右。

五、Qt 安裝

運行 gmake install

默認安裝至 /usr/local/Trolltech/Qt-4.5.3

大約 5 - 10 分鐘。正常結束,安裝完畢。

運行 /usr/local/Trolltech/Qt-4.5.3/bin/designer ,看見 qt 啓動,也就是說 qt 安裝好了。

六、設置環境變量

1、先修改用戶環境變量

vi /home/defonds/.bashrc

在其最後添加如下信息

export QTDIR=/usr/local/Trolltech/Qt-4.5.3 

export PATH=$QTDIR/bin:$PATH 

export MANPATH=$QTDIR/man:$MANPATH 

export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

2、再修改全部用戶環境變量

vi /etc/profile

在其最後添加如下信息

export QTDIR=/usr/local/Trolltech/Qt-4.5.3 

export PATH=$QTDIR/bin:$PATH 

export MANPATH=$QTDIR/man:$MANPATH 

export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

3、測試一下

從新開一個終端,輸入命令:

qmake -v   

輸出結果:

QMake version 2.01a 

 Using Qt version 4.5.3 in /usr/local/Trolltech/Qt-4.5.3/lib

輸入命令:

which qmake

輸出結果:

/usr/local/Trolltech/Qt-4.5.3/bin/qmake

證實 Qt 環境變量已經被配置成功。

 

qt-creator的安裝方法很簡單,即:

一、下載qt-creator-opensource-linux-x86_64-3.3.0.run

二、chmod +x qt-creator-opensource-linux-x86_64-3.3.0.run

./ qt-creator-opensource-linux-x86_64-3.3.0.run

接下來就是很是熟悉的安裝界面了

重啓一下就行了!

 

 

剛開始編譯時,gmake 沒用的方法:

經過以上的分析能夠知道,解決這個問題有兩種方法,一個就是更改qmake的連接,使得qmake這個命令連接到安裝目錄下咱們安裝版本的qmake,還有一種方法就是改環境變量。

先說更改連接的方法,經過上面的介紹,這個其實操做就比較直接和簡單了,命令和實驗結果以下:

root@emouse:/# rm /etc/alternatives/qmake

root@emouse:/#

ln -s /usr/local/Trolltech/Qt-4.8.4/bin/qmake /etc/alternatives/qmake

root@emouse:/# qmake -v

QMake version 2.01a

Using Qt version 4.8.4 in /usr/local/Trolltech/Qt-4.8.4/lib

能夠看到,qmake已經成功更改成4.8.4版本。

第二種辦法就是更改環境變量,這個我沒有嘗試,有興趣的本身驗證。

vi /home/defonds/.bashrc 用來修改用戶環境變量,在文件後面添加如下信息

 

export QTDIR=/usr/local/Trolltech/Qt-4.8.4

export PATH=$QTDIR/bin:$PATH 

export MANPATH=$QTDIR/man:$MANPATH 

export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

再修改全部用戶環境變量vi /etc/profile 一樣在文件後添加上面的環境變量信息。這種方法應該一樣可行。

 

 交叉編譯ARM版 Qt (qt-everywhere-opensource-src-4.8.4)

因實際項目需求,需將Qt編譯成LINUX-ARM版,如下爲整個操做過程,使用Qt編寫的程序已在實際開發板上運行,在此貼出,希望能爲須要的朋友提供上幫助。

準備工做:

Linux內核版本:  

        開發電腦:Ubuntu12.04,開發板:linux-2.6.37

交叉編譯工具:

        arm-none-linux-gnueabi 4.4.1

Qt安裝包:

        qt-everywhere-opensource-src-4.8.4.tar.gz

安裝

一.安裝交叉編譯工具

 1.本機使用的交叉編譯工具是:arm-none-linux-gnueabi

 2.添加交叉編譯工具的路徑至相應環境變量中:

   export PATH=/usr/local/arm-2009q1-203/bin/:$PATH

 3.經過如下命令查看arm-none-linux-gnueabi編譯工具是否安裝成功

   a. 執行:arm-none-linux-gnueabi-g++ -v

   b. 執行:arm-none-linux-gnueabi-gcc -v

   若是以上兩步都能正確打印對應的版本信息,則代表arm-none-linux-gnueabi編譯工具

   已安裝成功!

二.交叉編譯ARM版Qt

 1.下載Qt源碼包 qt-everywhere-opensource-src-4.8.4.tar.gz;

 2.解壓Qt源碼包

   tar -xvfz qt-everywhere-opensource-src-4.8.4.tar.gz

 3.修改文件:

/usr/local/Qt-4.8.4-linux-arm/mkspecs/qws/linux-arm-g++/qmake.conf

   # 設置交叉編譯工具鏈:

   # 本項目使用的交叉編譯工具是 arm-none-linux-gnueabi-g++

   #

   QMAKE_CC                         = arm-none-linux-gnueabi-gcc

   QMAKE_CXX                      = arm-none-linux-gnueabi-g++

   QMAKE_LINK                      = arm-none-linux-gnueabi-g++

   QMAKE_LINK_SHLIB        = arm-none-linux-gnueabi-g++

  

   QMAKE_AR                   = arm-none-linux-gnueabi-ar cqs

   QMAKE_OBJCOPY      = arm-none-linux-gnueabi-objcopy

   QMAKE_STRIP             = arm-none-linux-gnueabi-strip

 4.(若有須要,需修改g++.conf文件)

   修改文件: /usr/local/Qt-4.8.4-linux-arm/mkspecs/common/g++.conf

   # 設置使用ARM高級特性的編譯標誌:

   #

   QMAKE_CFLAGS_RELEASE  += -O2 -march=armv7-a -mtune=cortex-a8 -mfloat-abi=softfp

 5.配置Qt編譯選項

   進入Qt解壓目錄,執行以下命令:

 ./configure -prefix /usr/local/Qt-4.8.4 -embedded arm -xplatform /qws/linux-arm-g++ -depths 16,24,32 -little-endian -no-mmx -no-3dnow -no-sse -no-sse2 -no-glib -no-cups -no-largefile -no-accessibility -no-openssl -no-gtkstyle -qt-freetype -qt-mouse-pc -qt-mouse-linuxtp -qt-mouse-linuxinput -plugin-mouse-pc -fast -qt-gfx-transformed -opensource -confirm-license

   或者寫一個腳本config.sh,內容如上,以後運行這個腳本:./config.sh

 6.執行 make 命令;

   該步驟大體須要2~3個小時

錯誤:qtconcurrentiteratekernel.cpp:(.text+0x3c): undefined reference to `clock_gettime'

修改:vim src/corelib/Makefile 加上-lrt

LIBS          = $(SUBLIBS)  -L/opt/qt-everywhere-opensource-src-4.8.4/lib -lpthread -lm -ldl -lrt

 7.執行 make install 命令;

 8.修改用戶環境變量 

   export ARMQTDIR=/usr/local/Qt-4.8.4

   export PATH=$ARMQTDIR/bin:$PATH

   export MANPATH=$ARMQTDIR/man:$MANPATH

   export LD_LIBRARY_PATH=$ARMQTDIR/lib:$LD_LIBRARY_PATH

 9.測試 ARM 版 QT 是否安裝並配置成功:

    a. 執行:qmake -v

        打印如下對應信息:

                QMake version 2.01a

                Using Qt version 4.8.4 in /usr/local/Qt-4.8.4/lib

    b. 執行:which qmake

                打印如下對應信息:

                 /usr/local/Qt-4.8.4/bin/qmake

    c. 編寫一個簡單的測試程序,文件名爲hello.cpp,進入該文件目錄,進行工程編譯,看是否能正確通編譯

         hello.cpp源碼:

         #include <QApplication>

         #include <QDebug>

         int main(int argc,char *argv[])

        {

            qDebug("Hello, welcome to Qt world!");

            return 0;

         }

  順序執行如下操做:

  @1. 執行:qmake -project hello1.cpp

        生成 hello1.pro 工程文件

  @2. 執行:qmake hello1.pro

        生成 Makefile 文件

  @3. 執行:make

        生成 hello.o, hello 文件

       若是執行@2步驟時出現如下錯誤:

           QMAKESPEC has not been set, so configuration cannot be deduced.

           Error processing project file: hello1.pro

       則是 QMAKESPEC 變量沒有設置好,執行:

      export QMAKESPEC=/usr/local/qt-4.8.4/mkspecs/qws/linux-arm-g++

cd /usr/local/Qt-4.8.4/lib/

file libQT*   看輸出信息是ELF ARM

以後將/usr/local/Qt-4.8.4/lib/libQt* 根文件系統/usr/lib/下

相關文章
相關標籤/搜索