當前位置:首頁 » 編程軟體 » 編譯qtdoc

編譯qtdoc

發布時間: 2023-07-17 20:26:39

Ⅰ 如何讓QT編譯器顯示游標

1 PC版本

在終端中輸入:sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer qt4-qmlviewer
◆qt4-dev-tools 中包括了Qt Assistant,Qt Linguist,Qt Creator
◆qt4-doc 這個是幫助文檔
◆qt4-qtconfig Qt的配置工具,這個裝好默認好
◆qt4-demos 官方的一些Demo
◆qt4-designer 可視化窗體設置工具
◆qt4-qmlviewer 和qtcreator相關

安裝後,沒有安裝Qt Creator,在Ubuntu 圖形桌面上點擊左側的Ubuntu Software Center,搜索Qt ,選擇Qt Creator
完成後,在terminal命令行執行命令 qtcreator啟動Qt Creator了

註:如果需要編譯特定版本的,如4.8.5,則:
(1) 安裝一些依賴包
sudo apt-get install libX11-dev libXext-dev libXtst-dev
(2) 下載Qt源碼包 qt-everywhere-opensource-src-4.8.5.tar.gz,解壓後進入目錄
用命令 sudo ./configure -prefix /usr/local/Trolltech/Qt-4.8.5;sudo make;sudo make install即可

2 ARM版本

註:以下所使用的交叉編譯工具為arm-none-linux-gnueabi 如果使用arm-linux 做相應的修改即可

(1)下載Qt源碼包 qt-everywhere-opensource-src-4.8.5.tar.gz;
(2) 解壓後進入該文件夾,執行.
./configure -opensource -embedded arm -xplatform qws/linux-arm-gnueabi-g++ -no-webkit -qt-libtiff -qt-libmng -qt-libjpeg -qt-libpng -no-qt3support -nomake demos -nomake docs -nomake examples -little-endian -host-little-endian -fast -lrt

(3) 執行make,及make install命令,一般時間比較長
(4) 完成後修改mkspecs文件的許可權,供qt creator使用: sudo chmod 775 mkspecs -R
(5) 配置qt creator:工具->選項->Qt4 找到「手動設置」增加一個,qmake路徑填第二步中的安裝目錄下的qmake路徑,」usr/local/Trolltech/QtEmbedded-4.8.5-arm/bin/qmake「
(6)配置完成後,打開項目後點左側「項目」,選擇剛才配置的Qt版本即可編譯生成arm版程序了

3 移植到ARM
(1)需要將usr/local/Trolltech/QtEmbedded-4.8.5-arm/lib移植到ARM板上相同的位置,將plugins里的.so也移入..../QtEmbedded-4.8.5-arm/lib
(2) 對(1)中的lib/下的.so做鏈接
ln -s libQtDeclarative.so.4.8.5 libQtDeclarative.so
ln -s libQtDeclarative.so.4.8.5 libQtDeclarative.so.4
ln -s libQtDeclarative.so.4.8.5 libQtDeclarative.so.4.8

ln -s libQtGui.so.4.8.5 libQtGui.so
ln -s libQtGui.so.4.8.5 libQtGui.so.4
ln -s libQtGui.so.4.8.5 libQtGui.so.4.8

......
註:(1)(2) 也可以用壓縮打包整個lib,拷貝過去來實現

(3)vi ~/.bashrc 文件,加入
QTDIR=usr/local/Trolltech/QtEmbedded-4.8.5-arm

export QTDIR
PATH=$QTDIR/lib:$PATH
export PATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

4 一些常見錯誤
(1) 「QMAKESPEC has not been set」,解決方案:sudo gedit ~/.bashrc ,添加內容:export QMAKESPEC=usr/local/Trolltech/QtEmbedded-4.8.5-arm/mkspecs/qws/linux-arm-gnueabi-g++
(2) 安裝了多種版本的QT,如果想默認使用QtEmbeddedb版本,可以在上述文件中加入:export PATH=/usr/local/Trolltech/QtEmbedded-4.5.2-arm/bin:$PATH
(3) 配置完成後,可使用qmake -project;qmake;make進行工程編譯
(4) arm開發板的終端打不開,出現"grantpt failed:..."問題,可以輸入:mount -o remount,gid=5,mode=620 /dev/pts 回車
(5) Qtcreator配置出現,沒有編譯鏈,則可加入GCCE編譯鏈,目標位置就是linux-none-arm-guneabi-g++所在位置
(6) 出現qmlviewer 沒有安裝的問題,可從/usr/bin里將qml開頭的三個可執行文件拷到usr/local/Trolltech/QtEmbedded-4.8.5-arm/bin下
(7) make 出現arm-none-linux-gnueabi-g++命令未找到,如果確定環境變數已經添加,則檢查文件所屬賬號是不是你現在賬戶;環境變數如果一直不對,可以關掉終端,新開一個,重新設置
(8) 如果開發板運行程序的時候出現 cannot mix incompatible Qt library with this library,查找資料,大家都說最可行性的解決方案是卸干凈,重新編譯,自己花了好長時間重新編譯後,發現還是一樣。然後用ldd <filename> 查看了運行文件依賴的庫,發現程序有部分鏈接到了開發板上的Qt庫。做了Qt動態庫的全部ln(具體見第3部分)

//////////////////////////////////////////////////////////////////////////////////////////////////////由於項目需要,需要加入觸屏,編譯過程中發現不同與之前的新的問題,記錄如下
一 觸屏庫tslib的編譯
1 下載相應的工具

do apt-get install automake
sudo apt-get install autogen
sudo apt-get install autoconf
sudo apt-get install libtool

2 很重要的一步,設置 CC和CXX
export CC=.... ,export CXX=...,一般CC=arm-linux-gcc ,CXX=arm-linux-g++,我的交叉編譯環境是arm-none-linux-gnueabi-gcc,arm-none-linux-gnueabi-g++,輸入命令 export CC=arm-none-linux-gnueabi-gcc export CXX=arm-none-linux-gnueabi-g++

3 編譯
cd tslib
./autogen.shecho "ac_cv_func_malloc_0_nonnull=yes" > arm-none-linux-gnueabi.cache #(這樣做到目的是避免出現undefined reference to rpl_malloc錯誤)./configure --host=arm-none-linux-gnueabi CC=<你的cc編譯器所在路徑> CXX=<你的++編譯器所在路徑> --cache-file=arm-none-linux-gnueabi.cache -prefix=/usr/local/tslibmakemake install
4 檢查,可進入/usr/local/tslib/bin 里,file ts_test(或其他文件) 如果顯示ARM,表明編譯正確,如果顯示80386表明你用的不是交叉編譯器,而是系統的gcc。註:因為版本不一致,導致編譯QT時一直出現 fail to find tslib function...,加入-verbose選項,列印出/opt/../ld:cannot find -lts(tslib和qt編譯器版本不對應造成)。
二 編譯QTe 4.8.5
1 編譯指令需要改為./configure -opensource -embedded arm -xplatform qws/linux-arm-gnueabi-g++ -no-webkit -qt-libtiff -qt-libmng -qt-libjpeg -qt-libpng -no-qt3support -nomake demos -nomake docs -nomake examples -little-endian -host-little-endian -no-xcursor -no-mouse-linuxtp -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib -fast -lrt
不需要滑鼠的話就加上綠色的文字,並且修改./src/gui/embedded/qwscursor_qws.h,在文件頭部加上#define QT_NO_QWS_CURSOR
2 編譯器最好在qws/linux-arm-gnueabi-g++/qmake.conf中指定完全的路徑,否則可能出現一些奇怪的錯誤。
3 qmake.conf中記得加入-lts 在g++ gcc後面
三 移植到開發板
如果開發板中沒有tslib庫,則需要進行移植1 將tslib庫拷到開發板 /usr/local/tslib2 修改ts.conf vi /usr/local/tslib/etc/ts.conf -》將#mole_raw input前的#去掉3 vi /etc/profile 添加export TSLIB_ROOT=/usr/local/tslib
export TSLIB_TSDEVICE=/dev/input/event1
export QWS_MOUSE_PROTO=tslib:/dev/input/event1
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_CONSOLEDEVICE=none #避免出現「open console device: No such file or directory KDSETMODE: Bad file descriptor」的錯誤
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/libTSLIB_TSDEVICE 和QWS_MOUSE_PROTO這兩項需要查看自己的板子的觸摸屏設備對應/dev/input/下哪個文件可用cat /proc/bus/input/devices查看具體可參考博客http://blog.163.com/zhuandi_h/blog/static/180270288201222310291262/


1

Ⅱ ubuntu下qt如何編譯.ui文件

登錄/注冊
Linux/Ubuntu下 靜態編譯Qt程序
轉載205 閱讀

mb5ff5917b5bbc5
2017-07-28 07:07:00
關注
一般情況下,我們用Qt編譯出來的程序是要依賴於系統Qt庫的,也就是這個程序移到別的沒有安裝Qt庫的系統上是不能使用的。會提示缺少……庫文件之類的錯誤。這就是動態編譯的結果。
但是如果我們想編譯一個程序,這個程序在發給別人後,他們可以直接打開,而不需要特別地去先安裝Qt庫,那就需要採用靜態編譯了。

在Linux下如何靜態編譯Qt程序呢?

首先需要先安裝靜態編譯的Qt,也就是靜態編譯Qt程序首先是需要一個靜態編譯安裝的Qt

1、下載源安裝程序,如 qt-x11-opensource-src-4.5.1.tar.gz

2、解壓到某一目錄

3、cd 進入解壓後的目錄,命令:

./configure -static -release -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libjpeg -nomake demos -nomake examples -qt-sql-sqlite -prefix /usr/local/Trolltech/Qt-4.5.1_static 
 ./configure -static -release -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libjpeg -nomake demos -nomake examples -qt-sql-sqlite -prefix /usr/local/Trolltech/Qt-4.5.1_static

參數-static 指的是要採用靜態編譯Qt的方法

參數-release指的是只編譯release版本的庫

參數-qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libjpeg 是更好確定Qt編譯出的程序能在目前不知的系統下運行。

參數-nomake demos -nomake examples 指的是不編譯demos和examples

參數-qt-sql-sqlite 如果沒有這個參數,configure的時候,可能會提示sqlite 有問題而中止。

參數 -prefix /usr/local/Trolltech/Qt-4.5.1_static 指明靜態編譯的Qt安裝的目錄,命名Qt-4.5.1_static是為了區別動態編譯安裝的Qt,因為如果沒有這個參數,安裝時會覆蓋之前動態編譯安裝的Qt(如果有的話)。

4、沒問題後

make

5、make沒問題後再 

sudo make install

6、增加(或改變)環境變數:

在你home目錄下你的的名字的目錄中,在.profile文件中追加(或改變)如下環境變數:(為Qt設置一些特定的環境變數,這個很重要!.profile文件是隱藏的,可在你的名字目錄下,按Ctrl+H顯示所有文件查看到)

QTDIR=/usr/local/Trolltech/Qt-4.5.1_static/    
PATH=$QTDIR/bin:$PATH    
MANPATH=$QTDIR/doc/man:$MANPATH    
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH    
export QTDIR PATH MANPATH LD_LIBRARY_PATH   
QTDIR=/usr/local/Trolltech/Qt-4.5.1_static/ 
PATH=$QTDIR/bin:$PATH 
MANPATH=$QTDIR/doc/man:$MANPATH 
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH 
export QTDIR PATH MANPATH LD_LIBRARY_PATH   

7、重啟

8、在終端測試一下qmake

成功的話,下來用qmake編譯出的Qt程序就是採用靜態編譯的。這時你會發現,靜態編譯出來的程序大小變大了相當多。

靜態編譯與動態編譯的區別

動態編譯的可執行文件需要附帶一個的動態鏈接庫,在執行時,需要調用其對應動態鏈接庫中的命令。所以其優點一方面是縮小了執行文件本身的體積,另一方面是加快了編譯速度,節省了系統資源。缺點一是哪怕是很簡單的程序,只用到了鏈接庫中的一兩條命令,也需要附帶一個相對龐大的鏈接庫;二是如果其他計算機上沒有安裝對應的運行庫,則用動態編譯的可執行文件就不能運行。、

靜態編譯就是編譯器在編譯可執行文件的時候,將可執行文件需要調用的對應動態鏈接庫(.so)中的部分提取出來,鏈接到可執行文件中去,使可執行文件在運行的時候不依賴於動態鏈接庫。所以其優缺點與動態編譯的可執行文件正好互補。

Ⅲ ubuntu下編譯qt庫需要多久

1."Basic XLib functionality test failed!"
解決方式:apt-get install libX11-dev libXext-dev libXtst-dev
2."Xrender support cannot be enabled e to functionality tests!",此項導致QWebkit無法編譯
解決方式:apt-get install libXrender-dev

3.另外為了支持opengl,phonon等還需要其它庫
sudo apt-get install libglib2.0-dev
sudo apt-get install libgstreamer0.10-dev
sudo apt-get install libgstreamer-plugins-base0.10-dev
sudo apt-get install libxml-dev
sudo apt-get install xlibmesa-gl-dev
sudo apt-get install xlibmesa-glu-dev

sudo apt-get install xorg-dev

按照上述方式安裝依賴庫後,可以搞定。
然後make,make install
安裝完後,需要設置環境變數
export QTDIR=/usr/local/Trolltech/Qt-4.8.2/
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/doc/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

Ⅳ 討論上Windows平台怎麼編譯Qt5

Qt5的編譯官方有一篇wiki:http://developer.qt.nokia.com/wiki/Building_Qt_5_from_Git
簡要的總結下我的體會,歡迎補充完善、批評指正。

1.First clone the top-level qt5 git repository:

git clone git://gitorious.org/qt/qt5.git qt5

這一行不用說了,自然是將Qt5的代碼克隆。不過,如果你只是初次克隆Qt5的代碼,會很驚訝:為何克隆後的代碼只有十幾MB?
原來,Qt5已經實現了Qt的模塊化,詳見:http://labs.qt.nokia.com/2011/05/12/qt-moles-maturity-level-the-list/
所以可以在克隆得到的Qt5源碼根目錄下看到:.gitmoles 文件,其內容部分摘錄如下:
[submole "qtbase"]
path = qtbase
url = git://gitorious.org/qt/qtbase.git
[submole "qtsvg"]
path = qtsvg
url = git://gitorious.org/qt/qtsvg.git
[submole "qtdeclarative"]
path = qtdeclarative
url = git://gitorious.org/qt/qtdeclarative.git
...
這時,有Git基礎的朋友一定會想到:
git submole init
git submole update
不過,請不要這樣做!

2. Following the README file we initialize the repository. This clones the various sub-moles of Qt5:
./init-repository

這是一個perl腳本。如果是在msys-git下,會發現Perl的版本不夠。
我們需要安裝一個Windows版本的Perl:http://www.activestate.com/activeperl/downloads
安裝好以後,Perl就添加到PATH環境變數中去了。
在MSVC的控制台下執行:
perl init-repository --help

注意,不是直接執行init-repository,要用perl來執行它。看看幫助:大致了解下有哪些功能。

3. 注意它的三個小提示:
Hint1: If you』re going to contribute to Qt 5, you』ll need to pass the —codereview-username <Jira/Gerrit username> option to set up a 「gerrit」 remote for all the sub-moles.
Hint2: If you』re having problems downloading the webkit repository (which is quite big), you can pass —no-webkit.
Hint3: If you』re behind a firewall, pass —http

4. 我的方法:
perl init-repository -f --codereview-username loaden

這樣就可以實現子模塊的批處理了。特別要注意的是:在處理這些子模塊時,其實是git clone了這些子模塊,以致於他們可以獨立使用。在qt5\qtbase目錄下可以找到.git目錄。
這與git submole update的結果是不一樣的!!
同時我使用了codereview的用戶名,是為了可以創建一個名為gerrit的遠程倉庫,可以將貢獻的代碼推送進去,類似:
git push gerrit HEAD:refs/for/master

5. 源碼下載是非常慢的,因為QtWebkit達到了1.7GB。源碼下載完成後,進入Qt5源碼目錄,配置環境變數:
set PATH=%CD%\qtbase\bin;%PATH%

之後echo看一下結果是否正確:
echo %PATH%

6. 建議直接在Qt5的源碼目錄下執行配置!
configure -confirm-license -opensource -release -shared -platform win32-msvc2010 -fast -no-stl -no-qt3support -nomake examples -nomake demos -nomake tests

7. 編譯全部模塊,直接執行nmake就可以了。如果只編譯一個模塊,可以這樣:
nmake mole-qtbase

雙擊打開Qt5目錄下的Makefile文件,可以看到有這些模塊:
SUBTARGETS = \
mole-qtbase \
mole-qtsvg \
mole-qtphonon \
mole-qtxmlpatterns \
mole-qtdeclarative \
mole-qttools \
mole-qttranslations \
mole-qtdoc \
mole-qlalr \
mole-qtqa \
mole-qtlocation \
mole-qtactiveqt \
mole-qtsensors \
mole-qtsystems \
mole-qtmultimedia \
mole-qtfeedback \
mole-qtquick3d \

mole-qtdocgallery \
mole-qtpim \
mole-qtconnectivity \
mole-qtwayland \
mole-qtjsondb \
sub-qtwebkit-pri \
mole-qtwebkit-examples-and-demos

Ⅳ 怎麼才能學好QT編程

我的Qt學習路線:
本身具備:精良的MFC編程能力及項目經驗,一般的C++標准語法,一般的C++設計基礎。
本身積累了不多的項目開發經驗。

Qt學習路線:
配置VC++6.0和Qt4.4.0,編譯Qt4.4.0庫。網路查找相關資料和書籍。
閱讀《QT學習筆記.doc》、《Qt4入門中文版.pdf》並練習、《QT中文手冊.pdf》、《Qt學習之路》系列。

用Qt升級改造VC++6.0示波器程序,查看聯機幫助。
安裝QtCreator開發環境開發ERP程序。

項目需要吧,現在接觸的反而少了一些。不過希望這個學習過程能夠對您有所幫助。
既然你已經配置好開發環境了,那麼也就離成功不遠了,祝賀!
箴言:不求精通、熟練,但求能夠循循道來、操之用之即可。

熱點內容
優路教育伺服器連接不上怎麼回事 發布:2025-02-06 23:03:49 瀏覽:140
資料庫加速 發布:2025-02-06 23:02:14 瀏覽:564
蘋果ipodpro如何連接安卓手機 發布:2025-02-06 23:00:56 瀏覽:528
android格式化sd卡 發布:2025-02-06 23:00:50 瀏覽:981
郝斌資料庫 發布:2025-02-06 22:44:57 瀏覽:181
全息存儲器 發布:2025-02-06 22:43:51 瀏覽:116
游戲源碼如何使用 發布:2025-02-06 22:43:40 瀏覽:714
表與資料庫 發布:2025-02-06 22:42:47 瀏覽:439
典型宣傳短片拍攝腳本 發布:2025-02-06 22:33:27 瀏覽:551
php資料庫配置 發布:2025-02-06 22:29:38 瀏覽:17