QT程式移植到開發板並執行 解決方案

2021-08-13 04:36:07 字數 1986 閱讀 6060

本文介紹的是qt程式怎麼移植到開發板並執行,對於移植這個問題,本人也在學習的過程中,所以找到一篇好文章與大家分享一下。廢話不多說,看內容吧。

需要的條件:

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 !

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程式怎麼移植到開發板並執行

需要的條件 1.上位機編譯好的可執行檔案,以hello為例 在虛擬機器的ubuntu下,寫好 之後,定位到當前目錄,執行命令 qmake project 生成工程檔案.pro qmake 生成makefile make 生成可執行檔案hello 注意這些命令是在arm版的qt環境下的編譯命令!執行q...

移植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 解壓...