qt編譯arm
A. linux 下用arm體系QT編譯問題(目前我系統里有X86 和 arm體系(老師編好的)的QT各一個)
貌似是缺少系統庫,有些版本的linux編譯qt是會出現缺少系統庫而導致編譯不成功的問題,不是很推薦用最新的編譯器來編譯,其實2.4的內核和3.4.5的編譯器做qt就已經足夠了,你可以去查查看那些版本的linux下可以成功的編譯qt,安裝的時候盡可能把開發用的庫都選上,不然就只有自己再去打補丁,
僅作參考
B. Arm Qt編譯成功怎麼驗證
編譯arm版QT應用程序進行驗證。
平時程序都是在PC上完成的,所以我們需要先安裝X11版的QT來獲得qvfb這工具,嵌入式的開發有了qvfb,就中以不需要實際的開發板,可以開發QT應用程序。
構建QT交叉編譯庫,編譯arm版QT應用程序.然後移到開發板上直接運行。
C. qt的程序在arm-linux-g++下怎麼交叉編譯
你找下,是不是在哪個makefile腳本或類似config.mk的腳本里有個變數,變數值為編譯器名字的。
它可能是這樣的:
cross_compile
:=
arm-linux-
hostcxx
=
g++
這兩個名字拼起來才是交叉編譯器的名字,如果只用了hostcxx或者cross_compile為空,它就用的g++了
D. 如何為qt指定編譯器arm-xilinx-linux
修改$QTDIR/mkspecs目錄下的符號鏈接default.將其指向linux-g++
$QTDIR是路徑,具體要看你把QT裝到什麼地方和QT本身的版本,一般是/usr/lib[64]/qt4
修改default符號鏈接的作用是讓qmake在生成Makefile的時候將Makefile文件中的編譯器變數$CC與$CXX賦值成gcc和g++
E. 關於QT開發平台和arm嵌入式的關系。
QT包括普通窗口界面下的和嵌入式下的
嵌入式QT也叫QT/Embeded,是應用在嵌入式linux系統上的GUI應用程序運行環境,主要運行於framebuffer上。
所以實現一個移動設備上的界面,我們這樣來構造:
硬體:arm9最小系統板+觸摸液晶屏
軟體:
1.
linux系統
2.
QT
運行庫
3.
被QT編譯好的應用程序
上三個都是嵌入式移植的,是移植好並用arm-linux-交叉編譯器編譯的linux系統,QT庫lib*.so,QT編譯器和該編譯器編的應用程序。
除了QT,清華出的MINIGUI很受中文用戶青睞,也是GPL。
F. qt arm 版本編譯問題
這個警告
> This however does *not* affect NDK-generated code because, very fortunately,
> none of the stable ABIs exposed by the NDK depend on this mangling (this has
> been checked carefully), so whichever toolchain you use, your code will run
> on all Android systems
趕腳不會對代碼有什麼影響啊..
CFLAGS += -Wno-psabi
關掉它就ok
G. QTcreator能在windows中交叉編譯arm平台程序嗎
這個估計沒必要,安裝一個虛擬機,然後安裝一個桌面版的里Linux系統,再在系統中安裝一個vim編輯器,再安裝一個gdb調試器,最後再arm-linux-gcc就可以編譯c文件了,要是你的很多源程序文件都在windows系統中,你可以設置Windows與Linux共享文件。這些東西在網上都可以找到教程,剛開始可能覺得Linux系統很不方便,但是要熟悉Linux系統就必須經常呆在Linux系統中,希望能幫到你。
H. 如何編譯ARM版本LINUX QT4.5
編譯安裝內核 下載並解壓內核 解壓內核:tar xf linux-2.6.XX.tar.xz 定製內核:make menuconfig 參見makefile menuconfig過程講解 編譯內核和模塊:make 生成內核模塊和vmlinuz,initrd.img,Symtem.map文件 安裝內核和模塊:sudo make moles_install install 復制模塊文件到/lib/moles目錄下、復制config,vmlinuz,initrd.img,Symtem.map文件到/boot目錄、更新grub 其他命令: make mrprobe:命令的作用是在每次配置並重新編譯內核前需要先執行「make mrproper」命令清理源代碼樹,包括過去曾經配置的內核配置文件「.config」都將被清除。即進行新的編譯工作時將原來老的配置文件給刪除到,以免影響新的內核編譯。 make dep:生成內核功能間的依賴關系,為編譯內核做好准備。 幾個重要的Linux內核文件介紹 config 使用make menuconfig 生成的內核配置文件,決定將內核的各個功能系統編譯進內核還是編譯為模塊還是不編譯。 vmlinuz 和 vmlinux vmlinuz是可引導的、壓縮的內核,「vm」代表「Virtual Memory」。Linux 支持虛擬內存,不像老的操作系統比如DOS有640KB內存的限制,Linux能夠使用硬碟空間作為虛擬內存,因此得名「vm」。
I. qt creator 怎麼搭建arm
一、Qt4.6.3<span times="" new="" roman";="" mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:"times="" mso-bidi-font-family:arial;mso-bidi-font-weight:normal"="" style="word-wrap: break-word;font-family: 宋體">編譯與移植到PXA270
環境:虛擬機Fedora7(建議安裝Vmware Tools,詳細安裝方法參照Vmware幫助文檔),USB串口,超級終端。
軟體准備:
1、用於 Linux/X11 32位 的 Qt Creator 1.3.1 二進制軟體包qt-creator-linux-x86-opensource-1.3.1.bin。
2、用於嵌入式 Linux 的 Qt 庫 4.6.3包qt-everywhere-opensource-src-4.6.3.tar.gz。
1.1 編譯
將 qt-everywhere-opensource-src-4.6.3.tar.gz 壓縮包解壓為3份,分別編譯 PC ,嵌入式 x86 和 arm 三個版本。
在root目錄下建立tmp文件夾,將qt-everywhere-opensource-src-4.6.2.tar.gz直接解壓後復制3份,分別命名為pc、x86、arm。
1.1.1編譯 PC 版
進入pc目錄,執行如下操作:
#./configure
# gmake
# gmake install
安裝過程比較長,沒有碰到過錯誤。
1.1.2編譯嵌入式x86版
進入x86目錄,執行如下操作:
# ./configure -embedded x86 -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb
# gmake
# gmake install
安裝過程比較長,沒有碰到過錯誤。
編譯安裝PC版中的 qvfb:
進入pc/tools/qvfb/目錄,執行如下操作:
#make
編譯完畢,將pc/bin目錄下的qvfb文件復制到/usr/local/Trolltech/QtEmbedded-4.6.3/bin目錄。
1.1.3編譯嵌入式arm版(需要 arm-linux-gcc 的支持)
1、把編譯器路徑加入系統環境變數,運行命令:
#gedit /root/.bashrc
2、編輯/root/.bashrc文件,在最後一行加上 export PATH=/usr/local/arm/3.4.1/bin:/$PATH
3、配置
必須加上「-prefix /usr/local/Trolltech/QtEmbedded-4.6.3-arm 」參數, 不然安裝後不在QtEmbedded-4.6.3-arm文件夾下,而是覆蓋了QtEmbedded-4.6.3。
# ./configure \
-prefix /usr/local/Trolltech/QtEmbedded-4.6.3-arm \
-opensource \
-confirm-license \
-release -shared \
-embedded arm \
-xplatform qws/linux-arm-g++ \
-depths 16,18,24 \
-fast \
-optimized-qmake \
-pch \
-qt-sql-sqlite \
-qt-libjpeg \
-qt-zlib \
J. 如何編譯arm上運行的qt2可執行文件
編譯好的QT的程序,一般會有幾個.CPP\.h文件,這么多的文件我們要怎麼樣編譯。首先,我們需要安裝QT版本的庫,一定要注意,這個庫文件一定和開發板上的是同一個庫。我們假設這個庫名字叫qtembed450-arm。以下步驟一定要注意:
1.安裝目錄一定要在「/usr/local/」下;
2.安裝成功後,這步非常關鍵,一定要設置環境變數,而且,我們要設置三個環境變數,這樣做有三個目的:①可以在任何路徑下用庫里的命令②編譯時候可以指定編譯規則為arm-linux-g++③編譯時候可以指定到所需要的庫文件。那麼安裝後,輸入一下命令:gedit /root/.bashrc.這個命令執行後就進入到設置環境變數的地方,我們要加入以下三個環境變數的設置:
export PATH=$PATH:/usr/local/qtembed450-arm/bin
export LD_LIBRARY_PATH=$LD_LTBRARY_PATH:/usr/local/qtembed450-arm/lib
export QMAKESPEC=/usr/local/qtembed450-arm/mkspecs/default
以上設置非常的重要,非常的關鍵。呵呵,先照著設置,具體原因我會細談。注意,我編譯用的很重要的qmake-arm 命令,就在/usr/local/qtembed450-arm/bin下,可以打開看看哦!環境變數設置好後,用which qmake-arm 命令來確認下是否成功,呵呵。
3.准備工作做到這里,算是進行一半了,哎,真累啊!還要接著寫呢。接下來我們要把我們的編譯好的QT程序的文件夾打開,把裡面的 .CPP/.h文件拷貝出來,新建立一個文件夾;
4.把以上的文件里的.cpp .h文件復制後新建立一個文件夾。
5.新文件夾建立後,在linux終端中進入到該文件夾所在目錄下,執行這個命令:qmake-arm -project命令,千萬注意,-project 和arm之間一定要有空格啊!該命令執行後,會生成一個.pro文件,緊接著呢,執行qmake-arm命令,該命令執行後呢,會生成一個Makefile文件,這步很關鍵哦,沒有這步就不會有Makefile文件,一般在這步會出現很多錯誤,就是庫沒有發現之類,這個時候,一定要檢查前面的步驟,仔細檢查看是否是錯誤。我們這個時候打開Makefile文件看一下,會發現,裡面的編譯已經變成arm-linux-g++。這個時候,就踏實,接下來怎麼辦?還用問嗎,直接make下就好了,哈哈,簡單吧!看到上面的qtmyjpg文件了嗎?這個是可以在開發板上運行的哦!接下來不用我說了吧,直接發送到開發板上執行,可以看到圖片嘍!
6.下到開發板上之後呢,通常會發現沒有許可權,執行chmod +x qtmyjpg 就可以了,但是注意,要執行這個qtmyjpg文件,一定要這樣輸入命令:./qtmyjpg -qws為什麼需要加這個參數呢?很簡單,你不加執行時會出現錯誤原因,自己看下吧,哈哈!
7.一般這個時候觸摸屏需要矯正。進入「/usr/tslib/bin/」,查看裡面的文件,有一個「ts-calibrate」文件,執行這個文件,./ts-calibrate 後,可以看到LCD屏幕上出現十字點,用觸摸筆點一下就可以,至此,整個QT在LCD上顯示整理完畢,花了我半下午時間加上對曹老師的請教,終於完成,嘿嘿!趕緊試試哦!