Qtcreator配置 交叉編譯arm程式

2021-06-20 06:16:14 字數 4154 閱讀 6165

**:

大家知道在windows下使用qtcreator整合ide開發環境開發qt程式,甚至是其他與qt無關的程式,在此過程中大家也可能感受到了它的魅力,呵呵,那麼,各位朋友有沒有使用它在linux下開發自己的程式了?更有甚者,用它來交叉編譯arm程式了?答案是可能的,而且相當方便。好了,下面我來帶大家感受它的魅力吧!!!

二、解壓上文的安裝包

1、修改安裝包的可執行許可權;

[root@localhost ~]# chmod +x qt-creator-linux-x86-opensource-2.4.1.bin

2、安裝qtcreator

[root@localhost ~]# ./qt-creator-linux-x86-opensource-2.4.1.bin

3、就會出現安裝嚮導;

接下來的安裝就如同windows下按章軟體那麼簡單,在此不再囉嗦。

三、配置qtcreator環境

進行此步驟的前提是你的linux系統編譯安裝了qt庫,庫的安裝步驟我就不介紹了。

注意:如果你是只做x86 pc機下配置,安裝qt庫的時候就是常規的編譯安裝qt庫,如果你是移植相關的qt程式**到arm下執行,那麼qt就得交叉編譯,交叉編譯就得安裝交叉編譯器;我的目錄為:/opt/toolchain/4.4.3。

下面我將介紹交叉編譯qt庫:

2、交叉編譯工具鏈:(我的友善之臂提供arm-linux-gcc4.4.3)

我的安裝目錄如下:

/opt/toolchain/4.4.3/,進入交叉編譯器的bin目錄,你就會發現:

arm-linux-addr2line     arm-none-linux-gnueabi-addr2line

arm-linux-ar            arm-none-linux-gnueabi-ar

arm-linux-as            arm-none-linux-gnueabi-as

arm-linux-c++           arm-none-linux-gnueabi-c++

arm-linux-cc            arm-none-linux-gnueabi-cc

arm-linux-c++filt       arm-none-linux-gnueabi-c++filt

arm-linux-cpp           arm-none-linux-gnueabi-cpp

arm-linux-ct-ng.config  arm-none-linux-gnueabi-ct-ng.config

arm-linux-g++           arm-none-linux-gnueabi-g++

arm-linux-gcc           arm-none-linux-gnueabi-gcc

arm-linux-gcc-4.4.3     arm-none-linux-gnueabi-gcc-4.4.3

arm-linux-gccbug        arm-none-linux-gnueabi-gccbug

arm-linux-gcov          arm-none-linux-gnueabi-gcov

arm-linux-gprof         arm-none-linux-gnueabi-gprof

arm-linux-ld            arm-none-linux-gnueabi-ld

arm-linux-nm            arm-none-linux-gnueabi-nm

arm-linux-objcopy       arm-none-linux-gnueabi-objcopy

arm-linux-objdump       arm-none-linux-gnueabi-objdump

arm-linux-populate      arm-none-linux-gnueabi-populate

arm-linux-ranlib        arm-none-linux-gnueabi-ranlib

arm-linux-readelf       arm-none-linux-gnueabi-readelf

arm-linux-size          arm-none-linux-gnueabi-size

arm-linux-strings       arm-none-linux-gnueabi-strings

arm-linux-strip         arm-none-linux-gnueabi-strip

等等。3、在linux 下/opt目錄建立自己的qt庫編譯目錄,我的安裝如下:

[root@localhost opt]# mkdir qt4.6.4_src

然後將qt-everywhere-opensource-src-4.6.4.tar.gz拷貝至qt4.6.4_src目錄;

進入qt4.6.4_src目錄,在此目錄下建立指令碼,這個指令碼方便大家一鍵編譯、安裝啦

[root@localhost qt4.6.4_src]# vim build-all

內容如下:

#/bin/bash

export path=/opt/toolchain/4.4.3/bin:$path

export tb_cc_prefix=arm-linux-

export toolchain=/opt/toolchain/4.4.3

export pkg_config_prefix=$toolchain/arm-none-linux-gnueabi

rm -fr qt-everywhere-opensource-src-4.6.4

rm -fr qt4.6.4_forarm

tar xfvz qt-everywhere-opensource-src-4.6.4.tar.gz

cd qt-everywhere-opensource-src-4.6.4

echo yes | ./configure -opensource -embedded arm -xplatform qws/linux-arm-g++  -no-webkit -qt-libtiff -qt-libmng  -qt-mouse-tslib -q

t-mouse-pc -no-mouse-linuxtp -prefix /opt/qt4.6.4_forarm   -i /usr/local/arm/tslib/tslib/include -l /usr/local/arm/tslib/tslib/lib

make 2>&1 | tee ../qte4.6.4makelog && make install

儲存退出後修改指令碼的可執行許可權:chmod +x buid-all;

4、./build-all執行咯,沒錯誤的話就可以安裝成功了,由於本人在build-all指令碼制定安裝目錄為:/opt/qt4.6.4_forarm,所以就可以在此目錄下找到相關的安裝庫檔案等等咯!

這裡提示大家,交叉編譯qt庫之前最好交叉編譯安裝tslib,哈哈,這裡不做介紹,可以參考本人其他博文(mini2440移植qt-extended4.4.3

配置針對arm的交叉編譯環境:

由於上文提到本人的qt交叉編譯暗轉的路徑為:/opt/qt4.6.4_forarm,進入此目錄可以看到裡面的bin目錄,進入bin目錄可可以發現qmake了吧,

ok後,緊接著就是設定交叉工具鏈:

設定完成後,就可以開啟qt自帶的例子工程,進行編譯了。

寫此文的時候參考了天嵌科技出品--qt程式開發完全手冊(上)之24小時超級版本_第二版_20091216.pdf,在此表示感謝,時間倉促,難免疏漏。

QT creator下配置交叉編譯器錯誤及解決

這些網上材料一大堆,可自行搜尋 參考連線 比較完整 安裝網上的參考,交叉編譯器和qt移植也已經完成,並生成qmake檔案,但是很奇怪的是在配置kits套件時,版本選擇切換到移植的版本,就出現感嘆哈?貌似提示是交叉編譯器是64位,qt5.9.8的qmake是32位,版本不匹配無法編譯 這裡如果不管ki...

CMake交叉編譯配置

很多時候,我們在開發的時候是面對嵌入式平台,因此由於資源的限制需要用到相關的交叉編譯。即在你host宿主機上要生成target目標機的程式。裡面牽扯到相關標頭檔案的切換和編譯器的選擇以及環境變數的改變等,我今天僅僅簡單介紹下相關cmake在面對交叉編譯的時候,需要做的一些準備工作。cmake給交叉編...

CMake交叉編譯配置

很多時候,我們在開發的時候是面對嵌入式平台,因此由於資源的限制需要用到相關的交叉編譯。即在你host宿主機上要生成target目標機的程式。裡面牽扯到相關標頭檔案的切換和編譯器的選擇以及環境變數的改變等,我今天僅僅簡單介紹下相關cmake在面對交叉編譯的時候,需要做的一些準備工作。cmake給交叉編...