Qt for windows7-64bit在電腦上安裝mingw(搜索mingw for windows),將C:\MinGW\bin添加進(jìn)環(huán)境變量,打開命令行輸入gcc --version和g++ --version和mingw32-make --version驗(yàn)證安裝成功 解壓qt-everywhere-opensource-src-4.8.1.tar.gz并進(jìn)入目錄 configure -debug-and-release -opensource -platform win32-g++ -webkit mingw32-make 把qt-everywhere-opensource-src-4.8.1/bin加入PATH qmake –version mingw32-make docs 生成doc-build文件夾文檔 Qt已安裝完畢,cmd命令行下使用如下命令生成可執(zhí)行文件 qmake -project qmake mingw32-make // debug目錄下生成可執(zhí)行文件 debug\文件名.exe Ubuntu 12.04-32bit Linux X11平臺(tái)用于X Window System(如Solaris、AIX、HP-UX、Linux、BSD) tar zxvf qt-everywhere-opensource-src-4.8.1.tar.gz 在./configure前主動(dòng)裝好下面3個(gè)包 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已安裝完畢,使用如下命令生成可執(zhí)行文件 /usr/local/Trolltech/Qt-4.8.1/bin/qmake -project // qmake默認(rèn)安裝路徑 /usr/local/Trolltech/Qt-4.8.1/bin/qmake make ./生成的可執(zhí)行文件 Linux 下編譯、安裝、配置 QT http://www.cnblogs.com/emouse/archive/2013/01/28/2880142.html 嵌入式x86平臺(tái)可以通過編譯移除不常使用的組件與功能。通過自己的視窗系統(tǒng)QWS,不需依賴X Window System,直接寫入Linux幀緩沖??梢詼p少存儲(chǔ)器消耗。并提供虛擬幀緩沖QVFB,方便在桌面系統(tǒng)上進(jìn)行嵌入式測(cè)試。 解壓qt-everywhere-opensource-src-4.8.1.tar.gz并進(jìn)入 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已安裝完畢,測(cè)試 /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用來顯示程序 ./可執(zhí)行文件名 -qws // 程序顯示在qvfb上 QT是基于C/S模型的,也就是客戶端/服務(wù)器模型,QT如果需要運(yùn)行圖形界面程序就需要server端的支持。這個(gè)服務(wù)器端就是QWS Server。默認(rèn)情況下,嵌入式端的系統(tǒng)是不會(huì)啟動(dòng)QWS Server的,所以如果只有一個(gè)圖形界面程序,就必須給它加上-qws參數(shù),讓它以服務(wù)器的形式運(yùn)行,這樣才能啟動(dòng)QWS Server。 嵌入式arm平臺(tái)先根據(jù)手冊(cè)在linux上搭建mtk開發(fā)環(huán)境,安裝好交叉編譯工具(linux上有armv6z-mediatek451_001_vfp-linux-gnueabi-gcc這條命令) 解壓qt-everywhere-opensource-src-4.8.1.tar.gz并進(jìn)入 在qt-everywhere-opensource-src-4.8.1/mkspecs/qws/下創(chuàng)建armv6z-mediatek451_001_vfp-linux-gnueabi/文件夾,復(fù)制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文件內(nèi)容 # 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 參數(shù) QT使用qmake 產(chǎn)生Makefile,為了讓QT在不同平臺(tái)下編譯,QT預(yù)先定義一些平臺(tái)Makefile變量。這一些變量根據(jù)編譯平臺(tái)不同,采用不同的值。如QMAKE_CC在ARM-LINUX下等于arm-linux-gcc,這一些變量都存在名為qmake.conf文件里。當(dāng)qmake生成Makefile時(shí),將采用這個(gè)文件的值。QT已經(jīng)針對(duì)所有測(cè)試過的平臺(tái)都寫相應(yīng)的qmake.conf,它全部放在QT目錄下的mkspecs目錄,其中針對(duì)QT窗口系統(tǒng)(QWS)的平臺(tái)放在 mkspecs/qws下面。 -xplatform 就是告訴configure ,生成qt 4.8.1庫(kù)的Makefile采用哪一個(gè)qmake.conf。 configure -xplatform qws/linux-arm-g++ 即表示采用 qws/linux-arm-g++的qmake.conf,而且這個(gè)格式很簡(jiǎn)單,所以如果有一個(gè)新的嵌入式平臺(tái),你完全可以在qws建個(gè)類似qmake.conf,只要用xplatform通知configure 即可。但是目錄名必須是 linux-XXXX-g++(所以上面的紅字修改是因?yàn)槲覀兊膓make.conf文件夾不是以linux開頭) -prefix 參數(shù) Qt安裝的路徑 configure完成后根據(jù)提示 gmake gmake install 安裝成功,測(cè)試 /qt-4.8.1-armv6z/bin/qmake -project /qt-4.8.1-armv6z/bin/qmake make 交叉編譯成功 QT編譯出錯(cuò)解決
搭建好nfs 將程序掛載到開發(fā)板上,命令為:mount -o nolock 192.168.100.182:/opt/nfs /mnt/ubi_boot/nfs nfs mount 默認(rèn)選項(xiàng)包括文件鎖,依賴于portmap提供的動(dòng)態(tài)端口分配功能,簡(jiǎn)單的解決方法:kill 文件鎖(lockd)或者mount -o nolock -o options 主要用來描述設(shè)備或檔案的掛載方式,由于很多嵌入式設(shè)備的根文件系統(tǒng)中不帶portmap,所以一般都使用-o nolock參數(shù),即不使用NFS文件鎖,這樣就可以避免使用portmap。 掛載成功后將程序拷貝到/mnt/ubi_boot/main目錄下,由于程序運(yùn)行需要一些Qt庫(kù),需要顯示到電視機(jī)(directfb),添加環(huán)境變量(可寫成腳本執(zhí)行,然后用source qtenv.sh命令使環(huán)境變量生效,echo $查看變量是否設(shè)置成功) export QTDIR=/ export QT_PLUGIN_PATH=$QTDIR/plugins/ export LD_LIBRARY_PATH=$QTDIR/lib:/usr/lib:/usr/local/lib:/mnt/ubi_boot/main 然后執(zhí)行程序./可執(zhí)行文件名-qws -display directfb QTE4.6移植以及相關(guān)參數(shù)介紹 http://blog.csdn.net/songjinshi/article/details/6554346 qt embedded-linux 4.5.2+arm移植開發(fā)環(huán)境搭建全攻略 http://hi.baidu.com/deep_pro/item/fe01ecbd3fddc3d684dd7943 附錄 Qt configure 參數(shù)說明(中文) http://blog.csdn.net/mociml/article/details/5317592 Building Qt http://processors.wiki./index.php/Building_Qt Qt4.7.4下單獨(dú)編譯QtWebkit http://blog.sina.com.cn/s/blog_8738908f0100u84l.html Ubuntu12.04下配置安裝Qt4.6.3 及移植到mini2440開發(fā)板及其使用全過程 http://blog.csdn.net/mybelief321/article/details/10137993
http://www./qt%E5%9C%A8%E5%90%84%E5%B9%B3%E5%8F%B0%E4%B8%8A%E7%9A%84%E6%90%AD%E5%BB%BAqt-everywhere/ |
|
|