導航:首頁 > 源碼編譯 > gcc怎麼編譯qt程序

gcc怎麼編譯qt程序

發布時間:2024-12-25 09:12:46

A. linuxqt緙栬瘧

linux涓嬫墽琛宷t紼嬪簭鎬庝箞緙栬瘧榪愯岋紵

1銆佸湪Linux涓嬬殑鍛戒護琛岀紪杈戠▼搴忥細#mkdirhello//mkdir鍛戒護鍒涘緩涓涓猦ello鐩褰#cdhello//cd鍛戒護鍒囨崲鍒板垰鎵嶅壋寤虹殑hello鐩褰#vimain.cpp//鍦╤ello鐩褰曚腑鐢╲i鍒涘緩涓涓猰ain.cpp鏂囦歡灝嗕笅闈㈢殑浠g爜杈撳叆鍒癿ain.cpp鏂囦歡涓#include

鎬庢牱鍦╱buntu涓嬪畨瑁卶t宓屽叆寮忥紵

1cd~/Qtenv 2 3chmo+xqt-sdk-linux-x86-opensource-2010.04.bin 4 5./qt-sdk-linux-x86-opensource-2010.04.bin 涓轟簡鏂囦歡綆$悊鏂逛究錛屽皢sdk涔熷畨瑁呭湪Qtenv鏂囦歡澶逛腑銆 2銆佽В鍘嬫簮浠g爜鍖 鍦ㄧ敤鎴風洰褰曚笅寤虹珛涓涓猀tenv鐩褰曪紝鐢ㄤ簬瀛樻斁緙栬瘧婧愭枃浠躲 mkdir$HOME/Qtenv 鍦╭tembedded鐩褰曚笅鍒涘緩arm鍜寈86鐩褰曘傚壋寤鴻繖涓や釜鐩褰曚富瑕佹槸涓轟簡緙栬瘧涓涓鐢ㄦ埛arm寮鍙戠増鐨凲TE錛屽彟涓涓鐩褰曠敤浜庡瓨鏀劇敤浜巕vfb鐨剎86涓婹TE錛岃繖鏍鋒紨紺哄拰寮鍙戦兘寰堟柟渚褲 1cd~/Qtenv 2mkdirarmx86 鎺ヤ笅鏉ュ皢婧愪唬鐮佸寘鍒嗗埆澶嶅埗鍒癮rm鍜寈86涓嬪苟瑙e帇緙┿傝繖鏍峰仛鉶界劧嫻璐逛簡涓浜涚‖鐩樼┖闂達紙ps錛氬湪瀹誇富鏈轟笂鐨勭‖鐩樺お涓嶅奸挶浜嗭級錛屼絾鑳戒負灝嗘潵鍐嶉厤緗鍜岀紪璇戣妭鐪佸緢澶氭椂闂淬 1cd~/Qtenv 2mvqt-everywhere-opensource-src-4.6.3.tar.bz2./arm 3cd~/Qtenv/arm 4tarxjvfqt-everywhere-opensource-src-4.6.3.tar.bz2 5 6cd~/Qtenv/x86 7mvqt-everywhere-opensource-src-4.6.3.tar.bz2./x86 8tarxjvf./x86/qt-everywhere-opensource-src-4.6.3.tar.bz2 瑙e帇緙╁悗鍒嗗埆閽堝筧rm騫沖彴鍜寈86騫沖彴榪涜岄厤緗錛岄厤緗鍓嶅彲杈撳叆 ./configure-embedded-help 榪涜岄厤緗甯鍔╂煡璇錛屾牴鎹騫沖彴閰嶇疆錛屽苟緙栬瘧鍜屽畨瑁呮枃浠躲傚叾鍛戒護浠g爜濡備笅錛 1cd~/Qtenv/arm 2./configure-prefix$HOME/Qtenv/arm-embeddedarm-nomakedocs-nomakedemo-nomakeexamples 3make 4makeinstall 5 6cd~/Qtenv/x86 7./configure-prefix$HOME/Qtenv/arm-embeddedx86-nomakedocs-nomakedemo-nomakeexamples 8make 9makeinstall 鍦ㄧ粡榪囨極闀跨殑閰嶇疆銆佺紪璇戝悗灝卞畬鎴愪簡QTE鐨勫畨瑁呫傛湰浜哄湪arm鐗堢殑緙栬瘧榪囩▼涓鍑虹幇榪囦袱涓閿欒錛屽湪鍙傝冦婂湪arm-linux-gcc3.4.1涓嬬紪璇憅t-embedded-4.6.2銆嬪畬鎴愮紪璇戙 瀹屾垚緙栬瘧鍜屽畨瑁呭悗闇瑕佸圭郴緇熺殑鐜澧冨彉閲忚繘琛岃劇疆錛岃劇疆鍙浠ユ槸涓存椂鎬ц劇疆鍜屾案涔呮ц劇疆銆備復鏃惰岃劇疆鏄鐩存帴鍦ㄥ懡浠ょ獥鍙h緭鍏 1exportQTENV=$HOME/Qtenv 2exportQTXDIR=$QTENV/qtsdk 3exportQTEDIR=$QTENV/x86 4exportPATH=$QTXDIR/qt/bin:$PATH 5exportLD_LIBRARY_PATH=$QTXDIR/lib:$LD_LIBRARY_PATH 6exportQVFBDIR=$QTXDIR/qt/bin 7exportQTEMAKEDIR=$QTEDIR/bin 浠ヤ笂榪欎簺鍙橀噺鍙浠ユ牴鎹鑷宸辯殑鍠滃ソ榪涜屽炲垹銆傝繖縐嶈劇疆鏂規硶鍦ㄥ叧闂褰撳墠鍛戒護緇堢鍚庡け鏁堛 絎浜岀嶆柟寮忔槸鍦ㄥ綋鍓嶇敤鎴風殑涓葷洰褰曚笅錛岀紪杈.bash_profile鏂囦歡錛屽姞鍏ヤ笂榪板懡浠よ岋紝淇濆瓨閲嶅惎鍛戒護緇堢鍗沖彲銆

濡備綍鍦ˋRMLinux鐜澧冧腑鎼寤篞T榪愯岀幆澧冿紵

1銆佸彲浠2銆丵tCreator鍙鏄涓涓闆嗘垚寮鍙戝伐鍏鳳紝榪欎釜鐗堟湰闅忔剰錛岀綉涓婁笅灝卞彲浠ワ紝Qte涓嶆槸鐢ㄦ渶鏂幫紝鑰屾槸鏈濂界敤璺熶綘鍦↙inux寮鍙板紑鍙戜竴鏍風殑銆傞栧厛瑕佸湪Linux涓嬩氦鍙夌紪璇慟te鐨勫簱錛岀劧鍚庡啀灝哃ib榪欎簺鏂囦歡縐繪嶅湪鏉垮瓙涓婏紝鏈鍚庨氳繃浜ゅ弶緙栬瘧濂界殑搴撳幓緙栬瘧浣犲湪pc

鏍戣帗媧句笅鎬庢牱榪愯岀Щ妞嶇殑QT紼嬪簭錛

浣犲彲浠ュ弬鑰僑QLiteStudio榪欎釜Qt鍐欑殑璺ㄥ鉤鍙癝QLite綆$悊宸ュ叿,瀹冭嚜宸辨墦鍖呬簡渚濊禆鐨凲t搴,鍙浠ュ仛鍒拌В鍘嬪嵆鐢,鍏煎逛笉鍚孡inux鍙戣岀増.閬撶悊鍏跺疄璺焀indows鐗圦t紼嬪簭鑷甯Qt搴撳樊涓嶅.

緙栬瘧鍓嶇粰榪炴帴鍣ㄤ紶涓涓鍙傛暟:

璇存槑:

-Wl琛ㄧず鍛婅瘔緙栬瘧鍣ㄥ皢鍚庨潰鐨勫弬鏁頒紶閫掔粰閾炬帴鍣.

rpath鏄痝cc鐨勪竴涓鍙傛暟,褰撶▼搴忚鍔犺澆鏃,浼氭悳瀵籸path鐩褰,瀵繪壘鍏變韓搴.

rpath娣誨姞鐨勭洰褰曚俊鎮淇濆瓨鍦ㄥ彲鎵ц屾枃浠朵腑.

$ORIGIN琛ㄧず鍙鎵ц屾枃浠舵墍鍦ㄧ殑鐩褰.

涔熷氨鏄榪愯屾椂紼嬪簭浼氬厛鍘昏嚜宸辨墍鍦ㄧ殑鐩褰曠殑lib閲屽幓鍔犺澆渚濊禆搴,娌℃湁鐨勮瘽鍐嶅幓緋葷粺搴撻噷鎵.

濡傛灉浣犵殑紼嬪簭鍦ㄧ紪璇戞椂娌℃湁浼犻抮path鍙傛暟,閭d綘涔熷彲浠ョ敤patchelf鏉ヤ慨鏀逛綘紼嬪簭鐨剅path:

娉ㄦ剰:patchelf淇鏀規枃浠跺悗鍐峴trip浼氬艱嚧鏂囦歡鎹熷潖.

鎵浠ュ簲璇ュ厛鐢╯trip鍒犻櫎絎﹀彿琛ㄧ緝灝忎簩榪涘埗鏂囦歡,鐒跺悗鍐嶇敤patchelf璁劇疆rpath.

棰樺栬瘽,Android涓婃棦娌℃湁glibc搴,涔熸病鏈夊簱閾炬帴鍣╨d-linux.so.3.

濡傛灉浣犺佹妸DebianARM(濡傛爲鑾撴淳Raspbian)涓婄殑杞浠舵斁鍒癆ndroid涓婅窇,浣犱竴鏍峰彲浠ユ墦鍖呯▼搴忎緷璧栫殑鍏變韓搴,璁╃▼搴忎篃鑳借窇鍦ˋndroid涓,姣斿侾HP:

涔熷氨鏄浣犳妸搴撻摼鎺ュ櫒ld-linux-armhf.so.3鍜孭HP渚濊禆鐨勫簱閮芥斁鍒/data/local/tmp/web/lib閲,鐒跺悗璁劇疆涓鍒鍚,灝辮兘鍦ˋndroid鐨刟dbshell閲岃繍琛屾爲鑾撴淳鐨凱HP浜.

褰撶劧,浣犱篃鍙浠ョ敤patchelf璁劇疆PHP鐨剗nterpreter鍜宺path,鏁堟灉宸涓嶅:

鎬庢牱浜ゅ弶緙栬瘧涓涓猀T搴旂敤紼嬪簭錛

1.璁劇疆鐜澧冨彉閲忥細rPATH錛濇坊鍔犱負浜ゅ弶鐜澧冧笅緙栬瘧鍚庣敓鎴愮殑qmake璺寰勶紝閫氬父鍜屼富鏈虹殑緋葷粺鏄涓縐嶆灦鏋勶紝鍚屾椂闇瑕佺『淇濅氦鍙塯cc緙栬瘧鍣ㄥ湪鍦≒ATH瀹氫箟rQMAKESOEC錛濅氦鍙夌紪璇戠殑瀵硅薄鐨勭殑騫沖彴鎻忚堪鏂囦歡錛屼緥濡俶akespec/qws/linux-arm-g++rQTDIR=Qt鐨勫畨瑁呮枃浠訛紝瀛樻斁榪欏簱鍜屽ご鏂囦歡rLD_LIBRARY_PATH=瀛樻斁鐨勬槸Qt鐨勪氦鍙夌紪璇戝悗鐨勫簱錛屽噯澶囦負鐩鏍囩紪璇戦摼鎺ョ殑搴搑2銆傛墽琛岀幆澧冨彉閲弐閫氬父鎴戜滑閮戒細灝嗕互涓婄殑璁劇疆鏀劇疆鍦ㄤ竴涓猙ash鑴氭湰涓錛岄渶瑕佺殑鏃跺欏氨鎵ц屼竴涓嬨傚紑濮嬬紪璇憆1.浣跨敤qmake錛峱roject鏉ョ敓鎴愰」鐩鏂囦歡****.pror2浣跨敤qmake鏉ョ敓鎴怣akefile鏂囦歡r3浣跨敤make鏉ョ紪璇戠Щ妞嶏細浣跨敤readeif宸ュ叿鏉ュ垎鏋愮洰鏍囩郴緇熺殑浠ユ潵搴擄紝鐒跺悗鐩稿叧鐨勫簱鍒扮洰鏍囨枃浠剁郴緇熷唴銆傞氬父鎴戜滑涔熸槸閲囧彇鑴氭湰鐨勬柟寮忔潵瀹屾垚銆俽涓鑸鑰岃█錛屽嚒鏄鏈夎勫緥鐨勬垨鑰呴噸澶嶆х殑宸ヤ綔錛屾垜浠閮藉彲浠ラ噰鍙栬剼鏈鐨勬柟寮忔潵瑙e喅銆

B. qt的qmake命令的使用方法

我來回答你的問題吧 首先make命令一般是linux上gcc默認使用的 而windows上編程一般使用visual c++的,它的編譯器命令就不是make而是nmake。其次你使用qtCreator編譯就可以,沒必要使用命令行,因為命令行需要設置環境變數的。如果硬要使用命令行可以用qt工具欄里找一個qt command prompt,這裡面用minw32-make可以編譯,ming32是qtcreator使用的編譯器。

改成#include <QtGui/QApplication>試試

C. 如何靜態編譯發布Qt應用程序

如果你說的是Qt程序的話,靜態編譯就得自行從源碼開始編譯Qt靜態庫,官網預編譯的版本是不包含靜態庫的。這個很復雜,請參考qt-everywhere-opensource 中提供的編譯幫助。注意如果使用miongw的話,gcc版本最好不要是4.6.2。這個版本比較特殊,但是它是mingw官方版的最新打包版本。
如果你說的是非qt庫依賴的話,有兩種mingw和vs,前者有部分發行版默認去除了dll依賴,直接連接的靜態庫,後者非常不推薦使用靜態庫,畢竟它載入的是系統常用dll,基本上所有系統都是推薦安裝的運行時環境,用靜態庫吃力不討好。

D. linux命令行編譯qt程序時,默認使用的是arm-linux-gcc編譯器,生成的可執行程序無法

修改$QTDIR/mkspecs目錄下的符號鏈接default.將其指向linux-g++
$QTDIR是路徑,具體要看你把QT裝到什麼地方和QT本身的版本,一般是/usr/lib[64]/qt4
修改default符號鏈接的作用是讓qmake在生成Makefile的時候將Makefile文件中的編譯器變數$CC與$CXX賦值成gcc和g++

E. 怎樣交叉編譯一個QT應用程序

? 為此我寫下我在工作中的一點小經驗,希望對曾經像我一樣困惑的新手們有點幫助,同時也希望能得到大家的指正, 首先得把我們在X86機上調好的程序進行交叉編譯,如果在X86上都沒有通過的話。。那就不用交叉編譯了,(肯定是通不過的),還是到正題吧, 設置好環境變數,我們用以用echo 來查看環境變數,echo $TMAKEPATH ,如果返回的不是.../qws/linux-arm-g++ 的字元的話,我們一定得從新設置, export TMAKEPATH=/tmake 的安裝路徑/qws/linux-arm-g++ ,同時QTDIR一定得要指定QTE的安裝路徑,設置過程如下: export QTDIR=...../qt-2.3.7 以上環境設置好後,我們可以使用tmake來生成Makefile,注意這里我們是用tmake,而不是用qmake(注意),tmake工具在tmake包裡面。 具體做法,我們可以在命令行下打: tmake -o Makefile 工程名.pro 這樣我們就新生成了一個Makefile文件,下一步,我們要打開這個文件,做一些小的修改 1: 將LINK=arm-linux-gcc 改為:LINK=arm-linux-g++ 2:將LIBS=$(SUBLIBS) -L$(QTDIR)/lib -lm -lqte這句話改為: LIBS=$(SUBLIBS) -L/opt/gcc-2.3.2-glibc-3.3.2/lib -L$(QTDIR)/lib -lm -lqte 加上你的交叉編譯的庫。。。最後我們可以make了,一個可以在您的板子上可以運行的二進制文件產生了。 至於怎樣加到qtopia上去呢。。。待續。。。。。。。。。。。。。。

F. 如何進行Qt應用程序的交叉編譯

1.設置環境變數: PATH=添加為交叉環境下編譯後生成的qmake路徑,通常和主機的系統是一種架構,同時需要確保交叉gcc編譯器在在PATH定義 QMAKESOEC=交叉編譯的對象的的平台描述文件,例如makespec/qws/linux-arm-g++ QTDIR=Qt的安裝文件,存放這庫和頭文件 LD_LIBRARY_PATH=存放的是Qt的交叉編譯後的庫,准備為目標編譯鏈接的庫 2。執行環境變數 通常我們都會將以上的設置放置在一個bash腳本中,需要的時候就執行一下。開始編譯 1.使用qmake -project來生成項目文件****.pro 2使用qmake來生成Makefile文件 3使用make來編譯移植:使用readeif工具來分析目標系統的以來庫,然後相關的庫到目標文件系統內。通常我們也是採取腳本的方式來完成。 一般而言,凡是有規律的或者重復性的工作,我們都可以採取腳本的方式來解決。

閱讀全文

與gcc怎麼編譯qt程序相關的資料

熱點內容
玩子君手作解壓丸子 瀏覽:250
php上傳php文件出錯 瀏覽:688
群暉盤陣建ftp子文件夾 瀏覽:544
天空都市伺服器地址 瀏覽:431
c游戲編程入門教程pdf 瀏覽:670
php框架安全 瀏覽:715
夢里和程序員談戀愛 瀏覽:173
特價伺服器什麼意思 瀏覽:379
程序員交接不想接怎麼辦 瀏覽:873
vb文件夾怎麼選擇 瀏覽:118
公眾號驗證碼登陸源碼 瀏覽:524
居民樓用電量與電纜演算法 瀏覽:357
安裝mysql步驟linux 瀏覽:192
模擬器開app卡頓是怎麼回事 瀏覽:432
安卓手機如何將應用安裝到sd卡 瀏覽:1002
調取命令符 瀏覽:720
核酸檢測報告怎麼能加密 瀏覽:96
單片機燒錄是什麼意思 瀏覽:454
phpmysqlmysqlnd 瀏覽:539
php獲取伺服器端ip 瀏覽:429