下載地址:http://download.qt.io/javascript
當進入解壓好的源碼包後,使用./configure –help命令,能夠得到相應幫助,前面是*號的表示默認參數. +號表示該功能要求被評估,評估成功後才能被接受php
得到相應幫助,前面是*號的表示默認參數. +號表示該功能要求被評估,評估成功後才能被接受css
在電腦上安裝mingw(搜索mingw for windows),將C:\MinGW\bin添加進環境變量,打開命令行輸入gcc --version和g++ --version和mingw32-make --version驗證安裝成功 html
解壓qt-everywhere-opensource-src-4.8.1.tar.gz並進入目錄java
configure -debug-and-release -opensource -platform win32-g++ -webkit (若是須要從新configure,運行mingw32-make confclean,而後從新configure) 若是想使用VS的編譯器,就指定-platform win32-msvc2013(VS2013版本) mingw32-make(若是是VS就是nmake,須要在VS2013開發人員命令提示中使用) 若是指定了prefix路徑輸入:mingw32-make install
把qt-everywhere-opensource-src-4.8.1/bin加入PATHlinux
qmake –version mingw32-make docs 生成doc-build文件夾文檔
Qt已安裝完畢,cmd命令行下使用以下命令生成可執行文件nginx
qmake -project qmake mingw32-make // debug目錄下生成可執行文件 debug\文件名.exe
若是是VS的編譯器則使用qmake -r -spec win32-msvc2013而後執行nmake,須要在VS2013 開發人員命令提示中使用web
或者qmake -r -spec win32-msvc2013 -tp vc生成vcxproj工程文件,雙擊打開,使用VS編譯sql
Qt5.3.1 靜態編譯的configure:http://blog.csdn.net/sniper_bing/article/details/38067887shell
用於X Window System(如Solaris、AIX、HP-UX、Linux、BSD)
tar zxvf qt-everywhere-opensource-src-4.8.1.tar.gz
在./configure前主動裝好下面3個包
sudo apt-get install libX11-dev libXext-dev libXtst-dev ./configure -debug -developer-build -opensource -shared -fast -no-multimedia -xmlpatterns -no-audio-backend -no-phonon -svg -no-webkit -javascript-jit -script -scripttools -declarative -declarative-debug -qt-zlib -qt-libtiff -qt-libpng -qt-libmng -no-openssl -verbose -optimized-qmake -no-xinerama -no-xvideo -no-xshape -no-xsync make make install
Qt已安裝完畢,使用以下命令生成可執行文件
/usr/local/Trolltech/Qt-4.8.1/bin/qmake -project // qmake默認安裝路徑 /usr/local/Trolltech/Qt-4.8.1/bin/qmake make ./生成的可執行文件
Linux 下編譯、安裝、配置 QT
http://www.cnblogs.com/emouse/archive/2013/01/28/2880142.html
能夠經過編譯移除不常使用的組件與功能。經過本身的視窗系統QWS,不需依賴X Window System,直接寫入Linux幀緩衝。能夠減小存儲器消耗。並提供虛擬幀緩衝QVFB,方便在桌面系統上進行嵌入式測試。
解壓qt-everywhere-opensource-src-4.8.1.tar.gz並進入
apt-get install qt4-dev-tools ./configure -embedded x86 -qvfb -no-webkit make make install
qt embedded x86被安裝在/usr/local/Trolltech/QtEmbedded-4.8.1,裏面的qmake, moc,uic等都是for embedded x86,用來編譯embedded程序的
Qt已安裝完畢,測試
/usr/local/Trolltech/QtEmbedded-4.8.1/bin/qmake -project /usr/local/Trolltech/QtEmbedded-4.8.1/bin/qmake make qvfb -width 800 -height 600 & // 打開qvfb用來顯示程序 ./可執行文件名 -qws // 程序顯示在qvfb上
QT是基於C/S模型的,也就是客戶端/服務器模型,QT若是須要運行圖形界面程序就須要server端的支持。這個服務器端就是QWS Server。默認狀況下,嵌入式端的系統是不會啓動QWS Server的,因此若是隻有一個圖形界面程序,就必須給它加上-qws參數,讓它以服務器的形式運行,這樣才能啓動QWS Server。
先根據手冊在linux上搭建mtk開發環境,安裝好交叉編譯工具(linux上有armv6z-mediatek451_001_vfp-linux-gnueabi-gcc這條命令)
解壓qt-everywhere-opensource-src-4.8.1.tar.gz並進入
在qt-everywhere-opensource-src-4.8.1/mkspecs/qws/下建立armv6z-mediatek451_001_vfp-linux-gnueabi/文件夾,複製linux-arm-g++目錄下的qplatformdefs.h和qmake.conf到armv6z-mediatek451_001_vfp-linux-gnueabi下,修改qmake.conf,在qmake.conf中加入以下兩行
QT_CFLAGS_DIRECTFB = -I/opt/share/release/BDP_Linux/oss/library/DirectFB/usr /include/directfb -D_REENTRANT
QT_LIBS_DIRECTFB = -L/opt/share/release/BDP_Linux/oss/library/DirectFB/lib - ldirectfb -lfusion -ldirect -lpthread
(解壓release/BDP_Linux/oss/library/DirectFB)
如下爲qmake.conf文件內容
# qmake configuration for building with armv6z-mediatek-linux-gnueabi-g++ include(../../common/linux.conf) include(../../common/gcc-base-unix.conf) include(../../common/g++-unix.conf) include(../../common/qws.conf) # modifications to g++.conf QMAKE_CC = armv6z-mediatek451_001_vfp-linux-gnueabi-gcc QMAKE_CXX = armv6z-mediatek451_001_vfp-linux-gnueabi-g++ QMAKE_LINK = armv6z-mediatek451_001_vfp-linux-gnueabi-g++ QMAKE_LINK_SHLIB = armv6z-mediatek451_001_vfp-linux-gnueabi-g++ # modifications to linux.conf QMAKE_AR = armv6z-mediatek451_001_vfp-linux-gnueabi-ar cqs QMAKE_OBJCOPY = armv6z-mediatek451_001_vfp-linux-gnueabi-objcopy QMAKE_STRIP = armv6z-mediatek451_001_vfp-linux-gnueabi-strip QT_CFLAGS_DIRECTFB = -I/opt/share/release/BDP_Linux/oss/library/DirectFB/usr /include/directfb -D_REENTRANT QT_LIBS_DIRECTFB = -L/opt/share/release/BDP_Linux/oss/library/DirectFB/lib - ldirectfb -lfusion -ldirect -lpthread load(qt_config)
修改qt-everywhere-opensource-src-4.8.1/src/corelib/io/io.pri
linux-*|armv6z-*:{ // linux-*後面加上|armv6z-*
而後安裝
./configure -release -embedded arm -fast -xplatform qws/armv6z-mediatek451_001_vfp-linux-gnueabi -v -developer-build -opensource -xmlpatterns -svg -no-webkit -javascript-jit -script -scripttools -declarative -optimized-qmake -reduce-relocations -exceptions -depths all -lrt -qt-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -qt-freetype -no-dbus -nomake examples -nomake demos -nomake docs -nomake translations -no-largefile -no-phonon -no-phonon-backend -no-opengl -no-multimedia -no-audio-backend -no-declarative-debug -plugin-gfx-directfb -no-gfx-transformed -no-gfx-qvfb -no-gfx-vnc -no-gfx-multiscreen -no-gfx-qnx -no-gfx-integrityfb -little-endian -host-little-endian -qt-sql-sqlite -openssl-linked -I/home/release/BDP_Linux/oss/library/openssl/usr/include -L/home/release/BDP_Linux/oss/library/openssl/usr/lib -lssl -lcrypto -prefix /opt/share/qt-4.8.1-arm (記得解壓release/BDP_Linux/oss/library/openssl,-I和-L路徑可能有所不一樣(I=include , L=library)
-xplatform 參數
QT使用qmake 產生Makefile,爲了讓QT在不一樣平臺下編譯,QT預先定義一些平臺Makefile變量。這一些變量根據編譯平臺不一樣,採用不一樣的值。如QMAKE_CC在ARM-LINUX下等於arm-linux-gcc,這一些變量都存在名爲qmake.conf文件裏。當qmake生成Makefile時,將採用這個文件的值。QT已經針對全部測試過的平臺都寫相應的qmake.conf,它所有放在QT目錄下的mkspecs目錄,其中針對QT窗口系統(QWS)的平臺放在 mkspecs/qws下面。
-xplatform 就是告訴configure ,生成qt 4.8.1庫的Makefile採用哪個qmake.conf。
configure -xplatform qws/linux-arm-g++ 即表示採用 qws/linux-arm-g++的qmake.conf,並且這個格式很簡單,因此若是有一個新的嵌入式平臺,你徹底能夠在qws建個相似qmake.conf,只要用xplatform通知configure 便可。可是目錄名必須是 linux-XXXX-g++(因此上面的紅字修改是由於咱們的qmake.conf文件夾不是以linux開頭)
-prefix 參數
Qt安裝的路徑
configure完成後根據提示
gmake
gmake install
安裝成功,測試
/qt-4.8.1-armv6z/bin/qmake -project /qt-4.8.1-armv6z/bin/qmake make
交叉編譯成功
QT編譯出錯解決
http://lanxinyuchs.iteye.com/blog/934967
搭建好nfs
將程序掛載到開發板上,命令爲:mount -o nolock 192.168.100.182:/opt/nfs /mnt/ubi_boot/nfs
nfs mount 默認選項包括文件鎖,依賴於portmap提供的動態端口分配功能,簡單的解決方法:kill 文件鎖(lockd)或者mount -o nolock
-o options 主要用來描述設備或檔案的掛載方式,因爲不少嵌入式設備的根文件系統中不帶portmap,因此通常都使用-o nolock參數,即不使用NFS文件鎖,這樣就能夠避免使用portmap。
掛載成功後將程序拷貝到/mnt/ubi_boot/main目錄下,因爲程序運行須要一些Qt庫,須要顯示到電視機(directfb),添加環境變量(可寫成腳本執行,而後用source qtenv.sh命令使環境變量生效,echo $查看變量是否設置成功)
export QTDIR=/
export QT_PLUGIN_PATH=$QTDIR/plugins/
export LD_LIBRARY_PATH=$QTDIR/lib:/usr/lib:/usr/local/lib:/mnt/ubi_boot/main
而後執行程序./可執行文件名-qws -display directfb
QTE4.6移植以及相關參數介紹
http://blog.csdn.net/songjinshi/article/details/6554346
qt embedded-linux 4.5.2+arm移植開發環境搭建全攻略
http://hi.baidu.com/deep_pro/item/fe01ecbd3fddc3d684dd7943
附錄
Qt configure 參數說明(中文)
http://blog.csdn.net/mociml/article/details/5317592
Building Qt
http://processors.wiki.ti.com/index.php/Building_Qt
Qt4.7.4下單獨編譯QtWebkit
http://blog.sina.com.cn/s/blog_8738908f0100u84l.html
Ubuntu12.04下配置安裝Qt4.6.3 及移植到mini2440開發板及其使用全過程
http://blog.csdn.net/mybelief321/article/details/10137993
https://my.oschina.net/crucian/blog/223107