需要的條件:
1.上位機編譯好的可執行檔案,以hello為例
在虛擬機器的ubuntu下,寫好**之後,定位到當前目錄,執行命令
$ qmake -project //生成工程檔案.pro
$ qmake //生成makefile
$ make //生成可執行檔案hello
注意這些命令是在arm版的qt環境下的編譯命令!執行qmake -v可檢視其是否是arm版本,使用的是否是arm的庫!執行file hello 可以檢視hello是否是arm下執行的程式!
2.移植好qt庫的開發板
剛開始學,只需要移植最基本的幾個庫就行了!觸控螢幕的、滑鼠的、鍵盤的以後再說!分別是:libqtgui.so libqtcore.so libqtnetwork.so 以及fonts下的字型檔
為了防止錯誤,我一併把他們的相關鏈結檔案so.4、 so.4.7、 so.4.7.2 都移植過去了!
移植方法你可以使用nfs !u盤!我用nfs速度太慢,非常不方便,索性用u盤拷過去了!因為這幾個庫小的不到1m,大的13m,u盤拷的還是很快的!比較讓我費勁的是虛擬機器不支援把鏈結檔案拖拽到xp環境下!我只要在虛擬機器裡用郵件發到我的郵箱裡,再在xp環境下把這些東西下下來,再通過u盤拷貝!曲折啊。。。我的虛擬機器u盤不識別!
移植的幾種方法看這篇文章:
1)從哪兒移植呢?
從你虛擬機器裡編譯安裝arm版的qt庫裡面拷!..arm/lib下
2)移植過去放在哪兒呢?
最好是跟你在虛擬機器裡面的arm版qt所在目錄一樣,方便操作!看我的
分別在開發板下新建目錄:home/fengchao/qtenv/arm/lib
home/fengchao/qtenv/arm/bin
home/fengchao/qtenv/arm/lib/fonts
把那些.so檔案放到lib裡面,把字型檔放到fonts裡面!
3.最重要的一步,設定環境變數!
在開發板的根目錄下執行:
$ vi /etc/profile
然後輸入
export qtdir=/home/fengchao/qtenv/arm
export path=$qtdir/bin:$path
export ld_library_path=$qtdir/lib:$ld_library_path
儲存退出! ok !
vi使用:開啟檔案之後,輸入i,進入編輯模式,再按esc退出編輯模式進入命令模式,輸入:鍵入命令wq即儲存退出,q退出
4.然後把你編譯好的hello這個可執行檔案放到你的開發板上,隨便哪兒吧
./hello -qws
然後你就可以看見開發板上有顯示了!但是可能文字較小,如果有中文可能還是亂碼,沒事,咱一步步往下來。。。
5.錯誤分析
1)提示沒有鏈結到字型檔
qfontdatabase: cannot find font directory /home/fengchao/qtenv/arm/lib/fonts - is qt installed correctly?
這個就是你沒裝好字型檔,好好檢查一下,修改過來!
2)提示沒有qtgui.so no such file of directory
也是因為你沒有移植好這個庫或者跟他鏈結的檔案,再或者環境變數有誤!
QT程式移植到開發板並執行 解決方案
本文介紹的是qt程式怎麼移植到開發板並執行,對於移植這個問題,本人也在學習的過程中,所以找到一篇好文章與大家分享一下。廢話不多說,看內容吧。需要的條件 1.上位機編譯好的可執行檔案,以hello為例 在虛擬機器的ubuntu下,寫好 之後,定位到當前目錄,執行命令 qmake project 生成工...
移植SQLite到開發板
一 環境介紹 1 主機環境 redhat 2 交叉編譯器 arm linux gcc 4.3.2 3 軟體包 sqlite autoconf 3080701 tar.gz 4 目標板 tq2440 二 移植步驟 2 解壓 tar xzvf sqlite autoconf 3080701 tar.gz...
移植QT5 4 0到ARM開發板
qt5中不再用到qt4中的視窗系統qws 而是使用qpa系統,二者之間的差異還不清楚,但是程式執行時不需要再加上引數 qws了。而這個特性也導致qt5與qt4的移植過程有一些區別,這裡記錄一下。tar zxvf qt everywhere opensource src 5.4 0.tar.gz 解壓...