導航:首頁 > 源碼編譯 > 龍芯gcc493交叉編譯

龍芯gcc493交叉編譯

發布時間:2022-05-30 07:47:55

1. 求助:arm-linux-gcc4.4.3編譯問題:libstdc++.so.6

so。你需要確認你的編譯環境中包含相關arm的libstdc++,應該是你本地缺少libstdc++,這個so庫是arm架構的,不是指本地的x86的.6的庫文件.so你使用交叉編譯工具,可以看看makefile中如何指定的.6庫

2. 交叉編譯libnpg庫 ./configure CC=mipsisa32-elf-gcc --host=mipsisa32-linux 求大神給予幫助

編譯安裝。關鍵要看configure後,屏幕上出現的那一堆內容的最末尾有沒有error:
沒有就可以進行下一步。至於其他的,例如warning,可以忽略。
make和make install也是一樣

3. arm-linux-gcc 交叉編譯問題,代碼是照著書抄的,版本arm-linux-gcc4.4.3,PC ubuntu11.10

這是匯編代碼啦,你應該用匯編交叉編譯的,估計你用錯了編譯工具,所以才有這么多錯誤信息。

4. 我在虛擬機里安裝arm-linux-gcc(4.3.2)交叉編譯環境時,能回顯路徑,但是當輸入arm-linux-gcc -v查看版

許可權不夠,必須在root下,或先執行這條命令source /etc/profile

5. 交叉編譯

LINUX_DIR是你要編譯的內核源碼的目錄,隨便寫一個我不確定怎樣,可能找不到會按默認的目錄,不一定會按你想定製的系統編譯。內核號寫什麼不影響實際操作,只是在顯示版本信息的時候起作用。

6. Ubuntu14.04 用arm-linux-gcc 4.4.3 配置交叉編譯環境問題

安裝步驟

1、將壓縮包arm-linux-gcc-4.4.3.tar.gz存放在一個目錄下,這個目錄就是你等會解壓縮的目錄,以後這個目錄就不能隨便刪掉了

7. 用交叉編譯器(已經更改為arm-linux-gcc) 編譯內核;但是提示gcc沒有找到

提示 gcc:not command;就表示是gcc命令沒找到,這個和你的arm-linux-gcc沒關系,因為如果arm-linux-gcc找不到的話,會提示arm-linux-gcc找不到的,所以你就只能猜是不是host邊的gcc沒找到,然後在你的主機端安裝gcc開發包就可以了。

嵌入式一種重要的能力就是debug,自己鍛煉下吧,以後這種簡單的問題就能搞定了。

8. arm-linux-gcc的交叉編譯問題。測試helloworld程序出現Segment fault

段錯誤一般是指針訪問越界造成的,如:
int buf[10];
for(int i=0; ;i++){
if(*buf[i] == 100) printf().....
}
和交叉編譯沒有關系,你檢查一下你的代碼吧。

9. 龍芯與Linux問題

可以,但更建議你用ubuntu linux ,要容易上手些,使用也方便,不會打擊新手自信。而且ubuntu 也有龍芯版的,可以裝在龍芯上。它們本質是一樣的。

原則上只要有相應的編譯器,開源軟體都可以運行在龍芯上。
雖然CPU不同,但是世界上所有的程序,絕大部分是C/C++語言寫的,它是跨平台的語言,只要有相應的編譯器(GCC)就能編譯後運行在完全不同的CPU上。而linux 程序基本都是開源的,龍芯出現後肯定有很多人去移植和開發編譯器。所以,你的程序只要是C/C++寫的就能運行,當然,要用龍芯專用的編譯器編譯一次。
當然,Linux 腳本類程序不需編譯也可直接運行。

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網上有許多產品團購,便宜有口碑

閱讀全文

與龍芯gcc493交叉編譯相關的資料

熱點內容
做伺服器客戶怎麼去找 瀏覽:997
程序員升職可以干什麼 瀏覽:301
單片機原理課程設計大綱 瀏覽:909
cad命令大全圖表下載 瀏覽:389
程序員去印度工作 瀏覽:422
蘋果app活動怎麼導出 瀏覽:3
pdf轉高清圖片 瀏覽:33
人人玩棋牌源碼 瀏覽:345
如何獲取美團伺服器時間 瀏覽:342
php簡單加密演算法 瀏覽:791
什麼是開伺服器 瀏覽:607
cd4017單片機怎麼用 瀏覽:263
鳥哥pdf 瀏覽:242
忘記加密的密碼了怎麼辦 瀏覽:558
好友信息提示音在哪個文件夾 瀏覽:276
怎麼讓雲伺服器轉發本地埠 瀏覽:47
python數組剔除元素 瀏覽:16
推薦一款解壓的手機游戲 瀏覽:48
jsphp時間戳轉換日期 瀏覽:422
明日之後如何刪掉賬號伺服器 瀏覽:78