導航:首頁 > 源碼編譯 > 交叉編譯和qt版本的選擇

交叉編譯和qt版本的選擇

發布時間:2023-04-02 17:06:10

㈠ arm-linux-gcc交叉編譯器的製作,以及版本選擇問題。

,需要必須有足夠動經驗來支持。
另外,用 RH9 的都是高手,我想你的知識不需要來提問了吧?

1、在 PC 上編譯 arm 的程序當然需要較差編譯器,這個需要自己安裝,或者著現成的交叉編譯器環境,一般是一個特殊參數編譯出來的 gcc + binutils + glibc + linux-header。這個每個人動環境不同,一般都需要自己編譯一個,當然沒有特殊需求,也可以找現成的。不過很難找,因為這套環境還要和你動系統搭配,不然環境不匹配,連這個環境都不能運行,那就更談不上編譯東西了。
有關自己編譯搭建交叉編譯環境,可以看看一個特殊的 Linux 發行版 LFS 的分支: CLFS 。

2、移植分很多意思,移植有可能就意味著這套源代碼不能在目標系統上面編譯,需要你根據相應的知識去修改源代碼來讓這套代碼適應目標編譯器的要求,比如源代碼有 SSE4 的優化,這套程序在非 SSE4 CPU 上無法編譯運行,但目標機器連 SSE1 都不支持。那麼就需要移植。
或者移植僅僅是根據新的環境進行編譯,不需要進行源代碼修改,只需要進行一下編譯就能運行的程序,也可以稱為移植,就是從一個環境、架構 -》另一個環境、架構。都可以稱為移植,但真正的移植意味著修改程序源代碼來適應新環境。你說的這種移植是最簡單的移植。

3、決定目標硬體環境 -》搭建目標編譯器 -》製作目標環境(內核,基礎軟體庫)-》進行應用移植(移植需要的軟體、主應用程序)-》搭建系統文件系統 -》導入目標系統-》啟動目標系統&應用。說起來很簡單,因為這是完全沒有問題的條件下。
至於超級終端。那是用來控制目標系統的。目標系統有可能不能插鍵盤滑鼠顯示器,這就需要一個遠程網路鏈接來進行控制。以及通過遠程鏈接來發送數據。這都需要終端的支持。

虛擬機下面進行開發,不能發揮你的計算機的性能。而且因為隔著 VMware 的軟體模擬層,可能還不會很方便的讓你鏈接目標設備。

至於用 socket ,我還沒見到你的目標需要這個東西,因為所有的東西都是現成的源代碼。不需要你從 0 開始寫,當然你想自己寫一個系統內核,或者伺服器程序,或者全套的系統+應用,我絕對不攔你,但希望你寫完這套東西,能把源代碼發布出來。
ads 可以認為是一個支持環境,他本身不是一個系統的開發 SDK 。
-------------------------------------
ads 沒用過,印象里他還有模擬器,調試器什麼的程序。功能上要比 Linux 開發環境,WinCE 環境下面的東西更多更偏向於硬體方面,畢竟 ads 是 arm 出品的,不太可能偏向於軟體部分設計。Linux 和 WinCE 都是系統而不是硬體工具。

你可以認為交叉編譯器是一個應用程序,一個輸出器。把源代碼輸出為 arm 的代碼,這個應用程序的輸出,是靠他自己的環境,而不是當前系統的環境的。
當前系統的各個軟體的版本,不能影響交叉編譯器輸出的環境(理論上,現實有的時候總是從別的地方給你打擊……),交叉編譯器一般至少有 gcc 、binutils 、glibc 庫、linux kernel 頭文件。

在軟體需求上。
頭文件誰都不依賴,glibc 只需要內核頭文件,其他程序全都依賴於 glibc 。也就是所有程序都不依賴內核,僅僅是依賴於內核頭文件。

gcc 和 binutils 是把程序源代碼根據上面各個環節的需提供的功能來輸出為上面環節裡面的二進製程序。依賴你當前環境的,只有 gcc 和 binutils 兩個程序的執行、控制環節。只有他們兩個依賴的,而不是你的交叉編譯後的程序。

至於編譯器版本的選擇,新版本功能更好,舊版本兼容更好。
這個要看你的實際需要了。應用程序源代碼也調編譯器的,同時也依賴於軟體庫的功能。

arm 開發建議穩定、兼容優先。當然也可以嘗試最新的編譯環境,來獲取更好的優化(前提是還有什麼代碼優化的話)。
另外,團IDC網上有許多產品團購,便宜有口碑

㈡ QT交叉編譯環境

將安裝全套的Qt開發環境,可以在PC端進行qt開發。

Ubuntu14.04的Qt版本為5.2.1,16.04的Qt版本為5.5.1,高版本Qt庫可以向下兼容運行低版本工具鏈編譯的程序,因此這里選用5.2.1版本作為編譯工具鏈。

進入Qt工程目錄中,目錄下會有個<工程名>.pro文件,如果目錄中存在<工程名>.pro.user文件,是之前qtcreator生成的配置文件,請先刪除。然後運行:

即可完成編譯,編譯好的程序可以放到樹莓派上直接運行。

另外,工程的配置可以通過修改 工程名.pro文件,例如添加鏈接庫,只需要在文件中添加如下選項:

添加c99支持:QMAKE_CFLAGS += -std=c99

㈢ 小白求助,如何在ubuntu的QT creator下完成交叉編譯

你需要先安裝嵌入式版本的Qt
以下是我編譯Qt時的命令:樓主看著自行改
./configure -prefix /opt/QtEmbedded-4.7.3 -release -shared -fast -pch -no-qt3support -qt-sql-sqlite -no-libtiff -no-libmng -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -no-openssl -nomake examples -nomake demos -nomake tools -optimized-qmake -no-phonon -no-nis -no-opengl -no-cups -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-xkb -no-sm -no-xinerama -no-xshape -no-separate-debug-info -xplatform qws/linux-arm-g++ -embedded arm -depths 16 -no-qvfb -qt-gfx-linuxfb -no-gfx-qvfb -no-kbd-qvfb -no-mouse-qvfb -confirm-license -qt-mouse-tslib

然後把生成的Qt的qmake所在的目錄加入的Qt creater中,工具鏈就選你上面的那個arm-linux-g++

然後新建項目的時候就可以選擇 Embedded什麼來著

這樣就搞定了!

㈣ 如何進行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了,一個可以在您的板子上可以運行的二進制文件產生了。linux

㈤ 如何在ubuntu下搭建qt交叉編譯環境

第一步,你需要下載QT源代碼(4.8的編譯比較容易),然後通過 ./configure (參數自己定,不懂看readme)接下來就是在QT CREATE裡面配置了,如下:

工具-->選項--->構建和運行

1. 編譯器: 點擊添加: "名稱"隨意
"編譯器路徑" **/arm-none-linux-gnueabi-g++
找到你的編譯器,我這里是用ARM的
其他不填也行.

2.Qt Versions: 點擊添加:找到通過源碼編譯好的qmake文件. 例如:/usr/local/Qt-4.8.6/bin/qmake

3.構建套件: 點擊添加: "名稱"隨意, 重點是 "編譯器"跟"QT版本", 分別選擇剛剛添加的兩項.
調試器:如果是桌面環境那就選桌面的, 如果是在嵌入式中的,那不要也可以..

如果是交叉編譯,那隻能編譯,不能運行...

㈥ 怎樣交叉編譯QT程序使之能在目標板上運行!

最主要的還是,你的QT在PC上運行的x86的,最後要換成arm結構的,你得懷疑下你的bin是不是真的是arm架構的。

㈦ 怎樣設置使得QT creater支持交叉編譯

可以的,只需要把QtVersion設置好就可以了。
點擊Tools->Options->Qt4->Qt Versions.
然後添加你已經編譯的Qtembedded目錄進去,就可以編譯了。
很簡單的。
還有,在你的工程中的Release配置中,必須保證Qt Version是Qtembedded,也就是你剛才新建的那個Qt Version
Qt Creator默認是Default Qt version的。
這需要點擊左邊的Projects來修改。
如果你前面把Default Qt Version改為Qtembedded了,就不用再改了。

另外,交叉編譯的可執行文件是不能用QtCreator調試的,因為硬體平台不一樣。

㈧ QtCreator配置交叉編譯工具鏈

環境:ubuntu16.04桌面環境。

說明:使用ubuntu16.04桌面環境,安裝QtCreator之後,再利用QtCreator開發QT5 GUI程序,如果編譯的程序要運行在arm linux嵌入式系統中,則必須配置交叉編譯工具鏈。

主要配置內容:調試器、編譯器、QT版本。

1、打開工具,點擊選項。

2、選擇選項中的構建與運行,概要界面。

3、構建套件(kit)界面。

4、Qt Versions界面。

5、編譯器界面。

6、Debuggers界面。

7、Qbs界面。

8、交叉編譯例子:

閱讀全文

與交叉編譯和qt版本的選擇相關的資料

熱點內容
凈化車間門演算法 瀏覽:934
安卓怎麼搞jpg 瀏覽:544
如來佛祖命令雷神去下界 瀏覽:854
新電腦管家下載好怎麼解壓 瀏覽:528
php獲取介面數據 瀏覽:763
最後的命令 瀏覽:921
如何添加手機app桌面快捷圖標 瀏覽:427
ui設計師與程序員 瀏覽:417
壽司pdf 瀏覽:828
pythonbg是什麼 瀏覽:248
c數值演算法程序大全 瀏覽:785
android整點報時 瀏覽:221
稀土pdf 瀏覽:536
單片機電子鎖 瀏覽:596
通達信機智資金流指標公式源碼 瀏覽:216
php安裝xsl擴展 瀏覽:842
python如何使用help 瀏覽:367
上汽榮威app在哪裡查詢 瀏覽:903
冰櫃壓縮機溫度108 瀏覽:720
阿里雲郵smtp伺服器地址 瀏覽:254