獨立編譯QVFB

2021-05-25 06:39:44 字數 1734 閱讀 8495

今天是母親節,剛給我媽打了**,她感冒還沒有好透,有些咳嗽。祝願天下所有的母親都身體健康,快快樂樂,願天下的所有的兒女都能體會到父母養育我們的艱辛,帶著一顆感恩的心去做人做事......

搭建嵌入式qt開發環境已經進行了好幾天了,異常的艱難,做到中間有時候都煩躁地想推翻重來,可那又會是更漫長的過程,中間的編譯配置讓我感覺混亂,因為剛剛接觸這方面的知識,甚至對ubuntu linux都沒有多少了解,以至於出現太多錯誤讓我感覺不知所措,靜下來分析,還是因為不了解qt安裝到底是怎麼回事。在安裝的不斷折騰中才理解它是怎樣的乙個過程。

1、安裝qvfb,需要知道它在哪兒,我的qt-x11安裝在/home/fengchao/qtenv/qtsdk/,而qvfb就是在qtsdk/qt/tools/qvfb/下,需要經過編譯安裝才可以使用。編譯需要由qmake所生成的makefile,所以要確保qmake可用;然後需要make來把makefile生成可執行檔案qvfb,然後就把它cp到home/fenchao/qtenv/x86/bin的目錄下就可以了。(因為qvfb是用來在電腦上演示用的,所以放在x86環境下)

code:

$ cd qtenv/qtsdk/    //qtsdk下的環境變數設定檔案setenv.sh

$ source setenv.sh //使qt-x11的環境變數生效

$ cd qt/tools/qvfb   

$ qmake

$ make

make的過程中出現乙個典型錯誤:qvfb.cpp:51:24: error: deviceskin.h: no such file or directory

原因參見:

但是它所說的對於乙個新手來說看起來可能還是費勁的,我再通俗地解釋一下:

這個問題仍然是環境變數設定的問題,因為qt_source_tree的設定使得make的時候找不到deviceskin.h。

在qvfb.pro這個檔案裡,可用qtcreator開啟檢視

第37行#include($[[qt_source_tree]]/tools/shared/deviceskin/deviceskin.pri)

那麼就需要設定一下該變數qt_source_tree

解決方法參見:

2、步驟是

1)首先定位到資料夾:qtenv/qtsdk/

$ cd qtenv/qtsdk

2) 將qt_source_tree的目錄設定到我們當前的目錄上,這個變數qvfb.pro要用到,執行命令

$ qmake -set qt_source_tree $pwd (pwd為當前目錄)
3) 改動qvfb.pro中使用變數方式$$qt_source_tree為$$[qt_source_tree],執行命令為

$ sed -i "s/qt_source_tree/[qt_source_tree]/g" tools/qvfb/qvfb.pro
4)執行qmake,make編譯,執行命令為

$ cd tools/qvfb/;qmake;make
5)拷貝到x86/bin下

$ cp qtsdk/qt/bin/qvfb x86/bin

6)最後測試qvfb

$ cd x86

$ source setenv.sh

$ cd x86/bin

$ qvfb &

如果在一些檔案的make過程中出現錯誤則再根據錯誤提示解決即可,一般是缺乏安裝檔案。

如有錯誤,請指正:

[email protected]

qtsdk安裝下qvfb的編譯

系統 redhat enterprise 6 安裝的sdk qtsdk 2010.05 qtsdk預設安裝,不會編譯qvfb,但有qvfb的原始碼。具體編譯過程如下 1.切換到qtsdk安裝路徑下,比如我的安裝在 opt目錄下,cd opt qtsdk 2010.05 qt tools qvfb 2...

qvfb 中 的作用

root fedora7 qvfb 加上 符號使qvfb程序開啟後shell立即返回,否則會阻塞shell程序,需要再開乙個shell才可以執行minigui程式。即 作用為使得程式在後台執行!每次開啟qvfb都要調解析度和顏色深度,很不爽,可以搞個指令碼。比如,新建個指令碼名為qvfb8,內容這麼...

Latex檔案如何拆分進行獨立編譯?

最近使用latex編寫長文件,對於檔案的組織有些困擾。如果latex文件比較大,可以考慮拆分為幾個部分。比如編輯一本書的時候可以將各章獨立為chap1.tex,chap2.tex,chap3.tex,然後在主檔案main.tex中包含進來 documentclass begin title auth...