導航:首頁 > 源碼編譯 > pc交叉編譯

pc交叉編譯

發布時間:2023-05-29 18:50:21

『壹』 powerpc 交叉編譯錯誤

libgcc.a 沒有找到:

  1. 檢查你的libgcc.a環境變數的設置

    $CC --print-libgcc-file-name

    若路徑為libgcc.a 證明是當前目錄下的庫文件或者是PATH環境變數下的libgcc.a。

  2. 找到你的工具鏈庫的地址

    find -name "libgcc.a"

    /opt/fsl-qoriq/1.9/sysroots/ppce5500-fsl-linux/usr/lib/powerpc-fsl-linux/4.9.2/libgcc.a3

  3. 將此地址加到PATH里去:

    export PATH=/opt/fsl-qoriq/1.9/sysroots/ppce5500-fsl-linux/usr/lib/powerpc-fsl-linux/4.9.2/libgcc.a:$PATH

『貳』 什麼是交叉編譯

舉個例子來解答。
我們的電腦PC的CPU是intel或者AMD的,這種CPU全部是x86架構的,內在指令是一樣的。
而嵌入式linux的CPU一般是ARM的,這種CPU的指令架構和x86完全不同。

如果,你在電腦上寫了個C語言程序,然後編譯運行,但是這種程序只能在PC上,也就是intel或AMD的CPU上運行。你下載到ARM的機器上是不能運行的。

如果想要運行,就要在PC上根據ARM的指令架構來編譯程序。

這種在這種架構的CPU機子上編譯另外一種架構CPU的軟體,就叫做「交叉」編譯。交叉CROSS就是這個意思。

『叄』 什麼是交叉編譯,為什麼要使用交叉編譯

交叉編譯的概念(來自網路):

簡單地說,就是在一個平台上生成另一個平台上的可執行代碼。同一個體系結構可以運行不同的操作系統;同樣,同一個操作系統也可以在不同的體系結構上運行。舉例來說,我們常說的x86 Linux平台實際上是Intel x86體系結構和Linux for x86操作系統的統稱;而x86 WinNT平台實際上是Intel x86體系結構和Windows NT for x86操作系統的簡稱。
舉個例子:
我們在Linux系統比如Ubuntu上編寫的C程序完全可以拿到Windows系統上正常運行。

『肆』 什麼是交叉編譯

在一個平台架構上,編譯另一個平台架構的可執行代碼,就是交鋒漏叉編譯。
例如在x86架構的pc上編譯arm嵌入式設備的可執行程序。
交叉編譯是不得不用,伍前
首先在目標設備的系統還沒引導起來的時候腔基清,編譯目標平台的引導程序,顯然只能交叉編譯。
還有因為目標設備往往能力太低,沒法安裝編譯器,或者勉強安裝了,也慢得像蝸牛。

『伍』 arm菜鳥問題:1.在pc上交叉編譯好的軟體到arm下載到arm板上直接就能運行嗎 2.如果運

首先你有沒有操作系統,有操作系統才能成為軟體,如果沒有,那叫裸版程序;操作激指橋系統如果是Linux的話,和Linux下執行可執行文件一樣的,我看你問這問題應該還剛剛用,你得先仔細看看手冊熟悉自己的開發板然逗知後在開始用,這樣才會少走彎路。沒有圖形明猛界面的程序一般都會在控制台上列印出信息的,好好看資料,加油哦!

『陸』 嵌入式編程與PC編程有何區別

無區別,只不過編譯器不一樣罷了。因為不同的cpu構架有不同的指令集。而嵌入式基本使用RISC結構的cpu,需要使用pc上的cpu編譯出在能嵌入式cpu上運行的二進製程序。這叫交叉編譯。pc上的程序不可以直接在其他cpu上運行,需要重新編譯。 因為編譯器不一樣,執行的c語言標准就跟編譯器相關。 管理內存映射,設置中斷系統等在pc上也有,不是嵌入式的專利。 只是做嵌入式里的界面、網路、文件編程的話,跟pc上幾乎沒有差別,因為有操作系統罩著。如果開發驅動程序,就要求你對所使用的cpu和板子的結構很了解,也就是看得懂硬體手冊即可。 另外嵌入式環境同pc的差別 如cpu位數、硬體資源緊缺等是需要程序員考慮的。

『柒』 交叉編譯是移動開發的未來嗎

介紹:

  1. 交叉編譯這個概念的出現和流行是和嵌入式系統的廣泛發展同步的。

  2. 常用的計算機軟體,都需要通過編譯的方式,把使用高級計算機語言編寫的指仿代碼(比如C代碼)編譯(compile)成計算機可以識別和執行的二進制代碼。

  3. 交叉編譯工具可以在CPU能力很強、存儲控制項足夠的主機平台上(比如PC上)編譯出針對其他平台的可執行程序。

與主機編譯相比,交唯枯纖叉編譯受的限制更多,雖然在理論上可以做任何形式的交叉編譯,但事實上,由於受到專利、版權、技術的限制,並不總是能夠進行交叉編譯,尤其是在業余條件下,所以說交叉編譯是移動開發的未來是不過分敗凱的。

『捌』 單片機的開發也屬於交叉編譯吧

交叉編譯
由於計算機的指令集與ARM上的指令集不一樣。所以當程序能正常在PC上執行時,不一定能正常地在ARM上執行。
一般交叉編譯的過程是這樣的:PC調試的程序 =====> 調試可用,通過交叉編譯器將代碼指令轉換成對應的ARM平台代碼指令 ====> 移植到ARM平台上使用。

而單片機的過程也有些像。你像這類高深的問題不會出現在單片機上。其實你要明白什麼是編譯。
編譯就是將 高級的語言轉換成機器能識別的語言。這個過程就叫編譯。
單片機的C語言在平台上能運行,是因為有模擬軟體。而經過編譯之後,就變成單片機能執行的代碼了。
而ARM不一樣。PC中Linux下,程序也能執行,但不是模擬。他是真正的運行。但你移植到ARM平台就不一定能執行,需要轉化代碼的指令。這個轉換過程你可以當成是交叉編譯。

其實說白了吧。沒多大區別,就是轉換成他們能執行的代碼就對了。但只是單片機不這樣叫。因為單片機的代碼是沒辦法直接在PC上跑的。只能通過模擬軟體跑。

希望我的回答對你有所幫助。

『玖』 交叉編譯的詞義

一個經常會被問到的問題就是,「既然我們已經有了主機編譯器,那為什麼還要交叉編譯呢?」其實答案很簡單。有時是因為目的平台上不允許或不能夠安裝我們所需要的編譯器,而我們又需要這個編譯器的某些特徵;有時是因為目的平台上的資源貧乏,無法運行我們所需要編譯器;有時又是因為目的平台還沒有建立,連操作系統都沒有,根本談不上運行什麼編譯器。
另一個經常會被問到的問題就是:「既然可以交瞎槐叉編譯,那還要主機編譯干嗎?」其實答案也很簡單,交叉編譯是不得已而為之!與主機編譯相比,交叉編譯受的限制更多,雖然在理論上我們可以做任何形式的交叉編譯,但事實上,由於受到專利、版權、技術的限制,並不總是能夠進行交叉編譯,尤其是在業余條件下!舉例來說,我們至今無法生成惠普公司專有的som格式的可執行文件,因此我們根本無法做目的平台為HPPA-HPUX的交叉編譯。
就我們這個項目而言,需要交叉編譯的原因有兩個:首先,在項目的起始階段,目的平台尚未建立,因此需要做交叉編譯,以生成我們所需要的bootloader(啟動引導代碼)以及操作系統核心;其次,當目的平台能啟動之後,由於目的平台上資源的限制,當我們編譯大型程序時,依然可能需要用到交叉編譯。
交叉編譯這個概念的出現和流行是和嵌入式系統的廣泛發展同步的。我們常用的計算機軟體,都需要通過編譯的方式,把使用高級計算機語言編寫的代碼(比如C代碼)編譯(compile)成計算機可以識別和執行的二進制代碼。比如,我們在Windows平台上,可使用Visual C++開發環境,編寫程序並編譯成可執行程序。這種方式下,我們使用PC平台上的Windows工具開發針對Windows本身的可執行程序,這種編譯過程稱為native compilation,中文可理解為本機編譯。然而,在進行嵌入式系統的開發時,運行橘彎程序的目標平台通常具有有限的存儲空間和運算能力,比如常見的 ARM 平台,其一般的靜態存儲空間大概是16到32MB,而CPU的主頻大概在100MHz到500MHz之間。這種情況下,在ARM平台上進行本機編譯就不太可能了,這是因為一般的編譯工具鏈(compilation tool chain)需要很大的存儲空間,並需要很強的CPU運算能力。為了解決這個問題,交叉編譯工具就圓神悶應運而生了。通過交叉編譯工具,我們就可以在CPU能力很強、存儲空間足夠的主機平台上(比如PC上)編譯出針對其他平台的可執行程序。
要進行交叉編譯,我們需要在主機平台上安裝對應的交叉編譯工具鏈(cross compilation tool chain),然後用這個交叉編譯工具鏈編譯我們的源代碼,最終生成可在目標平台上運行的代碼。常見的交叉編譯例子如下:
1、在Windows PC上,利用ADS(ARM 開發環境),使用armcc編譯器,則可編譯出針對ARM CPU的可執行代碼。
2、在Linux PC上,利用arm-linux-gcc編譯器,可編譯出針對Linux ARM平台的可執行代碼。
3、在Windows PC上,利用cygwin環境,運行arm-elf-gcc編譯器,可編譯出針對ARM CPU的可執行代碼。

『拾』 請問什麼是交叉編譯跟本地編譯有什麼區別

你那個代碼很可能是在pc平台上交叉編譯到arm設備上的。這樣你可以在pc上修改程序,然後pc上編譯,最後把編譯的結果下載到arm中就可以運行了。不知道你說的本地編譯是什麼意思,通常所說的那種本地編譯就是編譯的結果還是在pc上運行,如果你期望的是這個的話,可以考慮修改一下編譯器的參數,查一下gcc的說明就知道哪個參數是指定交叉編譯平台的,把那個參數去掉就是本地編譯了。但是,需要注意的是,這樣多半不能成功運行,因為交叉編譯到arm上的一般是基於某種特殊的linux平台的,即使你使用了linux平台,其中可能有一些函數也會不同的。。。

閱讀全文

與pc交叉編譯相關的資料

熱點內容
推薦個能看的網址你懂的 瀏覽:149
免費觀看歐美純愛電影 瀏覽:222
帶男朋友張浩回宿舍影片名字 瀏覽:177
抗戰二級電影 瀏覽:115
愛情電影中文網 瀏覽:975
民國片 瀏覽:534
移動轉電信代理伺服器地址 瀏覽:771
不卡頓電影網免費觀看 瀏覽:358
摩登情書在線免費閱讀全文 瀏覽:308
能看動漫黃的網站 瀏覽:105
陪女人看電影逛街是什麼app 瀏覽:825
韓國電影百度雲有哪些 瀏覽:982
財務經理可以命令出納幹活嗎 瀏覽:534
女性癮者2墮胎怎麼拍的 瀏覽:324
電影開頭一個叫水生的小孩 瀏覽:987
貝科冰箱壓縮機 瀏覽:569
女程序員生病了 瀏覽:424
男男電影視頻 瀏覽:271
阿滿喜劇系列電影名單 瀏覽:866
律師pdf 瀏覽:412