qtlinuxwindows
1. 如何在Windows下構建ARM linux QT開發環境
在PC上,需要得到兩個版本的Qt,分別是:Qt-4.5.2和QtEmbedded-4.5.2-arm。前者包括了QtDesigner等基本工具,用於在PC上對程序的開發調試,使能確保程序放到板子上之前就符合設計的要求;然後用後者的庫將調試好的程序編譯成能在arm-linux平台上運行的程序。
Qt-4.5.2用從網上下載到的qt-x11-opensource-src-4.5.2.tar.gz編譯後安裝得到;QtEmbedded-4.5.2-arm用qt-embedded-linux-opensource-src-4.5.2.tar.gz編譯後安裝得到,Qt-embedded-linux-opensource-src-4.5.2.tar.gz還可以編譯成QtEmbedded-4.5.2-X86,但不需要。在編譯qt-embedded-linux-opensource-src-4.5.2.tar.gz之前,必須准備好arm-linux-gcc交叉編譯工具,用的是arm-linux-gcc-3.4.1。
所以先要准備好的軟體包有:
Pc的操作系統是:LINUX-ubuntu8.04。
下面是具體編譯安裝過程:
1、Qt-4.5.2的獲得將qt-x11-opensource-src-4.5.2.tar.gz復制到目錄:/home/chh/Project/qt,
2、然後解壓:
#tarzxvfqt-x11-opensource-src-4.5.2.tar.gz
得到一個新目錄:qt-x11-opensource-src-4.5.2
cd進入這個目錄,准備開始編譯。
3、在終端中這樣操作:
#./configure–qvfb//編譯配置,此過程大概歷時幾分鍾;#make//正式編譯,過程漫長,大概2個多小時;#cdtools/qvfb//進入此目錄,准備對它進行編譯#make//編譯,幾分鍾#cd../..//回到qt-x11-opensource-src-4.5.2主目錄,准備安裝#makeinstall//安裝,十幾分鍾吧;
4、此步必須以root身份完成,否則無法建立目錄
5、可以在/usr/local/下看到一個Trolltech目錄,進入該目錄發現Qt-4.5.2目錄已經出現,進入裡面的bin目錄,Designer等工具已經可以使用了。
6、編譯過程相當費時,所以可以直接拷貝已經編譯過的源碼,直接makeinstall。
7、至此,Qt-4.5.2的安裝已經順利完成。
QtEmbedded-4.5.2-arm的獲得
在編譯安裝qt-embedded-linux-opensource-src-4.5.2之前,必須先配置好arm-linux-gcc,將arm-linux-gcc-3.4.1.tar.bz2解壓到目錄:/usr/local下,此時local下出現一個名為arm的目錄,然後配置好環境變數:在/etc/profile添加一句:exportPATH=$PATH:/usr/local/arm/3.4.1/bin,保存後#source/etc/profile一下,讓它即時生效。否則下面的編譯過程會提示找不到arm-linux-gcc命令。現在可以開始編譯了:
將qt-embedded-linux-opensource-src-4.5.2.tar.gz復制到目錄:/home/chh/Project/qt,然後解壓:#tarzxvfqt-embedded-linux-opensource-src.tar.gz,得到新目錄qt-embedded-linux-opensource-src-4.5.2。
進入qt-embedded-linux-opensource-src-4.5.2目錄,首先進行configure。這里的參數很重要,必不可少的是-embeddedarm,所以最簡單的配置信息可以這樣:
./configure-embeddedarm
然後回車,就開始configure了,參數設置和參考文章一樣,裁減了很多,減少了編譯時間:
./configure-release-shared-fast-no-largefile-qt-sql-sqlite-no-qt3support-no-xmlpatterns-no-mmx-no-3dnow-no-sse-no-sse2-no-svg-no-webkit-qt-zlib-qt-gif-qt-libtiff-qt-libpng-qt-libmng-qt-libjpeg-makelibs-xplatformqws/linux-arm-g++-nomaketools-nomakeexamples-nomakedocs-nomakedemo-no-nis-no-cups-no-iconv-no-dbus-no-openssl-embeddedarm-little-endian-qt-freetype-depths16,18-qt-gfx-linuxfb-no-gfx-transformed-no-gfx-multiscreen-no-gfx-vnc-no-gfx-qvfb-qt-kbd-usb-no-glib
之後就可以編譯了,#make,漫長等待後再#makeinstall。Makeinstall還是需要root許可權。
完成後,在/usr/local/Trolltech下多了一個目錄:QtEmbedded-4.5.2-arm。
2. linux qt程序 怎麼運行到windows
Windows默認的編碼是gb2312,而Linux是UTF8;
多數情況下,把Linux上的程序轉換至Windows上運行需要進行編碼轉換才能正常顯示;
而其實大可以不必的,同樣,文件使用的依然是UTF-8,同樣可以在Windows上跑起來,不過有一些事件還需要做的:
1. 在main.cpp中添加一段內容:
#include "QTextCodec"
int main(int argc, char *argv[])
{
...
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
...
}
2. 在使用QString時,需要使用Qstring str =QString::fromUtf8("content")
3. 之後,程序就可以正確的顯示中文了~.~
3. 在Windows下開發的QT應用程序能在Linux系統應用么
QT 的跨平台是指一次編碼,到處編譯,你可以用同一份源代碼在 WIndows 和 Linux 上編譯,如果代碼裡面僅用到 QT 的部分,那麼是可以編譯通過的,編譯出來的程序運行界面效果是差不多的。要在哪個平台運行,那必須先到那個平台把 QT 代碼編譯成本地應用程序,才能運行。
4. linux下跟windows下QT是通用的嗎
QT編的源碼在linux和windows下是通用的,如果要想在兩個不同的平台上發面應用程序,你必須分別在不同平台上編譯,發布,才行。
5. qtwindows移植到linux找不到Windows.h
qtwindows移植到linux找不到Windows.h應該是環境變數配置的有問題,加入環境變數的配置或者可以直接在系統變數里新建include變數,把上面的加進去修改即可。
6. windows里的Qt和linux中的Qt有何異同
Linux是目前十分火爆的操作系統。它是由芬蘭赫爾辛基大學的一個大學生Linus B. Torvolds在1991年首次編寫的。標志性圖標是一個可愛的小企鵝。Linux是一種類Unix系統,Linus當時編寫它的目的是為了替代一種名叫Minix的操作系統。Minix是由一個名叫Andrew Tannebaum的計算機教授編寫的,當時由於Unix是一個商業軟體,其源代碼是不能拿來進行教學的,Andrew教授就自己編寫了一個系統用於教學。最初的Minix用一張軟盤就能裝下,麻雀雖小、五臟俱全,Minix具有一般操作系統的特徵,它同時兼容Unix系統一直以來,很多人對操作系統的認識停留在windows的華麗的圖形界面,認為只有滑鼠操作才能把一個操作系統給很好的用起來。linux的出現改變了這點先看看linux的目錄結構,linux以/作為一個總的掛載點,把所有系統文件安裝在/下的不同目錄下,linux下的通常目錄有:/etc用來放linux啟動腳本和系統配置信息/boot 放著linux內核和啟動系統所需的文件/dev存放設備文件/home用戶文件的主目錄/proc放著存儲進程和系統信息/root超級用戶的主目錄/bin常用必要的命令/sbin存放系統管理員命令/usr一般的應用程序文件/var包含系統產生的經常變化的文件,如郵件日誌等等/lib系統必要的運行庫/mnt存放臨時的映射文件系統,如系統光碟機軟碟機的掛載/tmp存放臨時文件的目錄。Linux命令通常放在/bin/sbin/usr/bin /usr/sbin等目錄下,每一個安裝的軟體包,都會在這些目錄下產生幾個命令。
下面就windows幾個常用特徵,對比著簡單介紹linux,以redhat9.0為例。
1.windows在桌面上經常能看見各種圖標,這些圖標是相應程序中快捷方式,在linux下可以用ln n xxx, ln命令是建立文件符號鏈接的linux命令,可以在一個目錄下建立起多個文件的鏈接,執行這些鏈接,就執行了文件本身,而刪除鏈接,並不刪除文件。所以通過建立各種鏈接文件,你也能擁有自己的命令桌面。
2.windows的任務管理器中能看到系統的進程,性能等一系列動態信息,也能關閉一些用戶進程,在linux中,通過psaux ,top,kill命令可以實現這些操作,ps是linux用來查看當前運行進程的命令,top動態顯示目前正在系統中執行的程序,kill+文件Id可以刪除相應進程,這些命令實際上調用的對/proc中,文件的操作/proc是一個內存映射到文件的文件夾,裡面存放的文件記錄了系統進程信息、動態信息和系統基本信息。通過查看/proc,能得到系統的大部分信息。
3.windows 的添加刪除程序相當的簡單,在linux 也有類似簡單的工具rpm redhat專門為程序編程人員提供了這一個軟體製作工具,大量linux 軟體已經做成rpm格式,只需要通過rpm ivh xxx的方式可以成功安裝,通過rpmuvh xxx就可以成功卸載。同時 rpm工具帶有很多其他功能,如通過rpmqa|more可以查詢所有的已經安裝在系統的rpm包的軟體名rpmql xx能查找一個軟體包即將拷貝何種文件在待安裝的linux系統上,rpmqf /xxx能查找任何一個rpm格式的命令是屬於哪個軟體包,總之,rpm的功能很強大,給linux添加刪除軟體帶來很多便捷。
4.windows的設備管理器提供了計算機軟硬體很多信息,在linux下,這些系統信息通過dmesg|more的命令,dmesg實際上是/var/log下一個日誌文件,系統在啟動的時候記錄相應的軟硬體信息,存放在此,除了這個文件,/proc下也存放著許多相應系統的信息,如分區信息,cpu信息,內存信息交換分區信息,中斷信息,系統匯流排信息。大多相應的系統信息命令就是通過查找這里的文件信息提供給大家的。
5.windows中有環境變數概念,linux也有,系統在啟動的時候已經設置了很多環境變數,其中比較常見的有PATH SHELLHOME PS1等 。PATH就是我們常常說的路徑,定義了它才能夠直接使用命令,而不需要加上路徑,SHELL選擇系統啟動後進入bash腳本 HOME是記錄當前的用戶的目錄,PS1是當前提示符,顯示一個環境變數用echo $PATH,顯示本地所有環境變數用set,顯示所有環境變數用env,清楚環境變數用unset xx設置一個環境變數用export xx=」 」。
6.windows的任務啟動執行常見的有幾種方式,一個是在系統啟動文件中執行程序的啟動,如編輯autoexec程序,一個是放在注冊表的Run下,一個是放在開始菜單的啟動項中。linux啟動,通常需要載入一系列啟動腳本, linux啟動當內核完成載入需要找/etc/inittab這個文件,這個文件通常會執行/etc/rc.local腳本文件(當然也可以自己更改),再由它調用其他腳本文件進行各種後台程序的啟動和系統環境信息的設置。需要啟動時執行的程序可以放在這里用腳本語言啟動。熟悉了腳本編程,還可以對系統本身啟動的腳本進行修改,去掉不想要啟動的設備程序和修改啟動後的系統信息,打造屬於自己的linux操作系統。
7.window下控制面板-管理工具-服務,記載著windows後台服務的啟動情況,在linux下也有著類似的管理方式,它是通過腳本的方式來管理,所有的後台啟動腳本都放在rc.d下,linux啟動有六個模式,相應就有六個啟動腳本文件夾,每一個文件夾對應著在linux啟動的一種模式下應該啟動或不啟動的程序,在啟動的時候通過改變相應模式文件夾中的程序腳本前綴S或K,就能在相應的模式下自啟動或不啟動程序,在操作系統運行中,還可以通過service start | restart|stop來手動啟動或重啟或停止該程序。
8.windows對文件的操作十分方便,用戶很容易就能建立,查找,刪除一個文件,Linux命令模式沒有向windows那麼直觀的文件操作界面,但它提供了一組強大的文件操作命令來讓用戶能方便的對硬碟中的文件進行操作,touch 建立一個新文件,find功能強大的查找文件 rm刪除文件和目錄,tar對多個文件打包同時進行壓縮,ln建立文件快捷方式 chmod,chown修改文件的許可權和所有者,vi類似與windows下記事本的編輯程序等等。這些命令能夠很容易的對硬碟文件進行各種有用的操作,不同於windows操作系統,linux的命令大都獨立的程序,可以添加和裁減,這使得不同的系統可以擁有對文件不同的操作,使linux能很靈活的應用各個方面。
linux系統是屬於那種靈活的操作系統,除了少數必須的命令,多數的命令都可以通過裁減的方式由用戶自己定製。不像windows系統一口吃一個胖子,這樣做的好處就使得linux能夠用在比windows更廣泛的領域,從伺服器到桌面系統到嵌入式,甚至可以小到僅僅只由內核+文件系統構成大小不到一兆的嵌入式系統。而大多數的linux開發人員的熱情,使得linux今後會成為一個重要的操作系統。
希望採納
7. 在linux下,QT怎樣編譯出windows程序
你好,1、可以安裝cygwin,Cygwin是一個在windows平台上運行的類UNIX模擬環境,是cygnus solutions公司開發的自由軟體,搜索官網下載鬧源即可,下載完成,安裝的時候注意記得安裝相關語言的編譯器、解釋器,在cygwin中生成Linux可執行文件。2、 可以安裝vmware、virtualpc等虛擬機,在虛擬機里安裝linux系統,然後顫肆在linux系茄彎轎統中編譯相應的源碼,生成linux上的可執行文件。
8. windows 重新編譯linux下qt工程 怎麼弄
首先在windows下安裝一個qt包,設置qtdir路徑,如果linux下的有cmake直接cmake,如果沒有,根據makefile設置vc工程屬性。
9. 在windows上開發qt和在linuux開發qt有什麼區別,有什麼不同的優勢,用途又有什麼不一樣
區別: 沒有什麼不同
優勢: 沒有什麼不同的優勢, 好比qq for Android 和qq for ios, 沒有什麼可比的優勢
用途: qt for window編譯出來的程序是在window上面跑, qt for linux編譯出來的程序是在linux上面跑.
前途: 兩個平台上的qt開發沒有什麼可比性, 因為你在window寫的程序只需在linux上面編譯一下, 就可以在linux運行.