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