詳解在Ubuntu Linux下獨(dú)立編譯QVFB
在Ubuntu Linux下獨(dú)立編譯QVFB本文將開始詳細(xì)介紹,搭建嵌入式QT開發(fā)環(huán)境已經(jīng)進(jìn)行了好幾天了,異常的艱難,做到中間有時(shí)候都煩躁地想推翻重來,可那又會(huì)是更漫長(zhǎng)的過程,中間的編譯配置讓我感覺混亂,因?yàn)閯倓偨佑|這方面的知識(shí),甚至對(duì)Ubuntu Linux都沒有多少了解,以至于出現(xiàn)太多錯(cuò)誤讓我感覺不知所措,靜下來分析,還是因?yàn)椴涣私?strong>QT安裝到底是怎么回事。在安裝的不斷折騰中才理解它是怎樣的一個(gè)過程。
前面我已經(jīng)安裝了QT-X11和QT for Embedded linux,但是當(dāng)使用QVFB的時(shí)候卻發(fā)現(xiàn)沒有安裝QVFB。我安裝QT-X11的時(shí)候是直接從NOKIA網(wǎng)站上下載的SDK,而不是源碼包SRC,而SDK中是不包含QVFB的,源碼包也是需要編譯的。經(jīng)過一番折騰摸索,參考了很多資料,下面是詳述。
1、安裝QVFB,需要知道它在哪兒,我的QT-X11安裝在/home/fengchao/qtenv/qtsdk/,而QVFB就是在qtsdk/qt/tools/qvfb/下,需要經(jīng)過編譯安裝才可以使用。編譯需要由qmake所生成的makefile,所以要確保qmake可用;然后需要make來把makefile生成可執(zhí)行文件qvfb,然后就把它c(diǎn)p到home/fenchao/qtenv/x86/bin的目錄下就可以了。(因?yàn)閝vfb是用來在電腦上演示用的,所以放在x86環(huán)境下)
- code:
- $ cd qtenv/qtsdk/ //qtsdk下的環(huán)境變量設(shè)置文件setenv.sh
- $ source setenv.sh //使QT-X11的環(huán)境變量生效
- $ cd qt/tools/qvfb
- $ qmake
- $ make
make的過程中出現(xiàn)一個(gè)典型錯(cuò)誤:qvfb.cpp:51:24: error: deviceskin.h: No such file or directory
原因參見:http://www.linuxidc.com/Linux/2011-05/36012.htm
但是它所說的對(duì)于一個(gè)新手來說看起來可能還是費(fèi)勁的,我再通俗地解釋一下:
這個(gè)問題仍然是環(huán)境變量設(shè)置的問題,因?yàn)镼T_SOURCE_TREE的設(shè)置使得make的時(shí)候找不到deviceskin.h。
在qvfb.pro這個(gè)文件里,可用QtCreator打開查看
第37行#include($[[QT_SOURCE_TREE]]/tools/shared/deviceskin/deviceskin.pri)
那么就需要設(shè)置一下該變量QT_SOURCE_TREE
解決方法參見:http://www.linuxidc.com/Linux/2011-05/36013.htm
2、步驟是
1)首先定位到文件夾:qtenv/qtsdk/
- $ cd qtenv/qtsdk
2) 將QT_SOURCE_TREE的目錄設(shè)置到我們當(dāng)前的目錄上,這個(gè)變量qvfb.pro要用到,執(zhí)行命令
- $ qmake -set QT_SOURCE_TREE $PWD (PWD為當(dāng)前目錄)3) 改動(dòng)qvfb.pro中使用變量方式$$QT_SOURCE_TREE為$$[QT_SOURCE_TREE],執(zhí)行命令為
- $ sed -i "s/QT_SOURCE_TREE/[QT_SOURCE_TREE]/g" tools/qvfb/qvfb.pro4)執(zhí)行qmake,make編譯,執(zhí)行命令為
- $ cd tools/qvfb/;qmake;make5)拷貝到x86/bin下
- $ cp qtsdk/qt/bin/qvfb x86/bin
6)***測(cè)試qvfb
- $ cd x86
- $ source setenv.sh
- $ cd x86/bin
- $ qvfb &
若出現(xiàn)窗口(可能是黑屏)則表示qvfb安裝成功;若想使用qvfb則運(yùn)行 ./app -qws指令即可,app為生成的可執(zhí)行文件。
其中工程文件app.pro由qmake生成makefile,再運(yùn)行make生成可執(zhí)行文件app,然后運(yùn)行 qvfb -width 800 -height 600 & ***運(yùn)行./app -qws即可執(zhí)行。
如果在一些文件的make過程中出現(xiàn)錯(cuò)誤則再根據(jù)錯(cuò)誤提示解決即可,一般是缺乏安裝文件。
小結(jié):關(guān)于詳解在Ubuntu Linux下獨(dú)立編譯QVFB的內(nèi)容介紹完了,希望本文對(duì)你有所幫助!