Ⅰ 虛擬機ubuntu14.04怎麼安裝交叉編譯器
虛擬機ubuntu14.04怎麼安裝交叉編譯器,解答如下
開始安裝(建議大家新建一個文件夾),然後將文件復制到新建的文件夾中
輸入命令:
sudo
tar
xvzf
arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz
安裝完成後,輸入ls命令,可以看到一個opt文件夾,如下圖
修改環境變數,把交叉編譯器的路徑加入到PATH:
利用tab鍵的補齊功能進入該路徑,如下圖
輸入pwd命令,查看當前路徑的絕對路徑
/home/cf/ARM/opt/FriendlyARM/toolschain/4.5.1/bin
Ⅱ clion中C項目交叉編譯說明
1、 在項目的CMakeLists.txt的開始處加上如下圖所示配置(配置中的目錄為你需要編譯器的目錄),平時開發調試的時候,正蔽宏設置SET( CROSS_COMPILE 0 ) 即不啟用交叉編譯。
2、 交叉編譯:首先SET( CROSS_COMPILE 1),然後把項目通過scp傳輸到linux虛擬機或者伺服器上
3、執行 cmake /path/your/project (項目根目錄),這一步會生成交叉環境配置的Makefile
4、 在項目根目錄,執行 make ,這一步會生成和項目名舉冊同名的可執行文件demo中為hello
5、Scp可執行文件到開發版,運行可執行文件。
SET( CROSS_COMPILE 1 )
IF ( CROSS_COMPILE )
SET(
CMAKE_SYSTEM_NAME linux )
SET(
TOOLCHAIN_DIR " /home/sz/project/arm-linux-gnueabihf ")
# specify the cross compiler
SET( CMAKE_C_COMPILER ${ TOOLCHAIN_DIR } /bin/arm-linux-gnueabihf-gcc )
SET(
CMAKE_CXX_COMPILER ${ TOOLCHAIN_DIR } /bin/arm-linux-gnueabihf-g++ )
SET(
GNU_FLAGS " -mfpu=vfp -fPIC ")
SET(
CMAKE_CXX_FLAGS " ${ GNU_FLAGS } ")
SET(
CMAKE_C_FLAGS " ${ GNU_FLAGS } ")
# where is the target environment
SET( CMAKE_FIND_ROOT_PATH ${ TOOLCHAIN_DIR }
${ TOOLCHAIN_DIR } /arm-linux-gnueabihf/include
並困 ${ TOOLCHAIN_DIR } /arm-linux-gnueabihf/lib )
# search for programs in the build host directories (notnecessary)
SET( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
NEVER)
# for libraries and headers in the target directories
SET( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
ONLY)
SET(
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
ENDIF ( CROSS_COMPILE )
Ⅲ 虛擬機linux怎麼查看交叉編譯環境
1.安裝源碼編譯環境(配置gcc),在ubuntu安裝完成已經有gcc(gcc是由GNU之父Stallman所開發的linux下的編譯器,全稱為GNU Compiler Collection, 目前可以編譯的語言包括:C, C++, Objective-C, Fortran, Java, and Ada.),但是gcc還不能編譯文件,因為缺少一些頭文件.那麼我們就要來配置這些頭文件。在這里我們需要安裝build-essential這個軟體包,安裝了這個包會自動安裝上g++,libc6-dev,linux-libc-dev,libstdc++6-4.1-dev等一些必須的軟體和頭文件的庫。安裝build-essential,你可以在新立得搜索然後安裝或者在終端里輸入:
sudo apt-get install build-essential
2.除了編輯器之外,我們還需要文本編輯器來編寫程序源碼,Ubuntu中其實已自帶編輯器,但是目前較為著名而且流行的vi / vim 編輯器可以通過在Ubuntu的軟體中心下載,或是在終端輸入指令下載,指令如下:
sudo apt-get install vim-full
3.解壓包:arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2,(註:不同文件包類型,指令有區別,如bz2 -xf)如下指令:
sudo tar -xf arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2 OR sudo tar -xf arm-linux-gcc-3.4.6-glibc-2.3.6.tgz -C /work/
我的Ubuntu使用第二個指令解壓後解壓包放在了work目錄下。
4.修改環境變數,把交叉編譯器的路徑加入到PATH:方法一:修改/etc/bash.bashrc文件(此文件只對當前用戶適用),指令如下:
sudo gedit /etc/bash.bashrc
然後在文件的末尾空白處加入一下代碼:
if [ -d /work/gcc-3.4.6-glibc-2.3.6 ] ; then
PATH=/work/gcc-3.4.6-glibc-2.3.6/arm-linux/bin:"${PATH}"
fi
即完成路徑的添加。
5.使新的環境變數生效,不用重啟電腦。輸入下面指令:
source /etc/bash.bashrc
6.檢查是否將路徑加入到PATH。輸入下面指令:
echo $PATH
若顯示的內容中含有:/usr/local/arm/4.3.2/bin 說明已經將交叉編譯器的路徑加入PATH。至此,交叉編譯環境安裝完成。
7. 測試是否安裝成功,下面的命令會顯示arm-linux-gcc信息和版本。
Ⅳ yocto交叉編譯工具在哪個目錄
概述YoctoProject是一個開源協作項目,它提供了一些模板、工具和方法來支持面向嵌入式產品的自定義Linux系統,不管硬體架構是什麼。我想要告訴那些對yocto這個名稱不甚理解的用戶的是,術語yocto是最小的SI單元。最為一個前綴,yocto表示10^-24。本文將提供一個分步指導,向您介紹如何使用YoctoProject的行業標准開源工具為嵌入式設備創建自定義的Linux操作系統,並使用QEMU在一台虛擬機中啟動操作系統。YoctoProject是由大型硬體公司和操作系統供應商資助的、由Linux基金會贊助的開源項目,提供了一些行業領先的工具、方法和元數據來構建Linux系統。YoctoProject的兩大主要組件由YoctoProject和OpenEmbedded項目一起維護,這兩個組件是BitBake和OpenEmbedded-Core,前者是構建引擎,後者是運行構建過程所使用的一套核心配方(recipe)。下一節會介紹所有項目組件。YoctoProject簡介作為一個協作項目,YoctoProject有時也稱為「umbrella」項目,它吸納了許多不同的開發流程部分。在整個YoctoProject中,這些部分被稱為項目,包括構建工具、稱為核心配方的構建指令元數據、庫、實用程序和圖形用戶界面(GUI)。PokyPoky是YoctoProject的一個參考構建系統。它包含BitBake、OpenEmbedded-Core、一個板卡支持包(BSP)以及整合到構建過程中的其他任何程序包或層。Poky這一名稱也指使用參考構建系統得到的默認Linux發行版,它可能極其小(core-image-minimal),也可能是帶有GUI的整個Linux系統(core-image-sato)。您可以將Poky構建系統看作是整個項目的一個參考系統,即運行中進程的一個工作示例。在下載YoctoProject時,實際上也下載了可用於構建默認系統的這些工具、實用程序、庫、工具鏈和元數據的實例。這一參考系統以及它創建的參考發行版都被命名為Poky。您還可以將此作為一個起點來創建您自己的發行版,當然,您可以對此發行版隨意命名。所有構建系統都需要的一個項目是工具鏈:一個編譯器、匯編程序、鏈接器以及為給定架構創建二進制可執行文件所需的其他二進制實用程序。Poky使用了GNUCompilerCollection(GCC),不過您也可以指定其他工具鏈。Poky使用了一種名為交叉編譯的技術:在一個架構上使用工具鏈為另一個架構構建二進制可執行文件(例如,在基於x86的系統上構建ARM發行版)。開發人員常常在嵌入式系統開發中使用交叉編譯來利用主機系統的高性能。元數據集元數據集按層進行排列,這樣一來每一層都可以為下面的層提供單獨的功能。基層是OpenEmbedded-Core或oe-core,提供了所有構建項目所必需的常見配方、類和相關功能。然後您可以通過在oe-core之上添加新層來定製構建。OpenEmbedded-Core由YoctoProject和OpenEmbedded項目共同維護。將YoctoProject與OpenEmbedded分開的層是meta-yocto層,該層提供了Poky發行版配置和一組核心的參考BSP。
Ⅳ 什麼是交叉編譯,為什麼要使用交叉編譯
交叉編譯的概念(來自網路):
簡單地說,就是在一個平台上生成另一個平台上的可執行代碼。同一個體系結構可以運行不同的操作系統;同樣,同一個操作系統也可以在不同的體系結構上運行。舉例來說,我們常說的x86 Linux平台實際上是Intel x86體系結構和Linux for x86操作系統的統稱;而x86 WinNT平台實際上是Intel x86體系結構和Windows NT for x86操作系統的簡稱。
舉個例子:
我們在Linux系統比如Ubuntu上編寫的C程序完全可以拿到Windows系統上正常運行。
Ⅵ linux與windows交叉編譯
這篇文章主要說明的是將linux上編譯的程序放到windows上運行。歷核
首先,我的主機與虛擬機都是64位的,虛擬機為ubuntu。
編寫一個簡單的測試程序:
然後將虛擬機做如下設置:
使用如下方法將差戚exe拷貝到windows上:
將程序拷貝到windows上。
按照windows上的程序執虛爛陵行方法,執行該hello.exe即可。
Ⅶ 如何交叉編譯 動態庫
首先,你要保證你編譯的程序使用的交叉編譯鏈是開發板支持的,例如arm-linux-4.3.2,一般是在虛擬機下面的linux系統下的/etc/profile裡面添加編譯鏈路徑;接著,需要確保使用寬兄的內核是開發板目前使用的內核,一般MINI2440是使用linux-2.6.30版本的,這個要在程序的makefile文件裡面改;還有,如果你使用靜態編譯方式文件會比較大,但是不用依賴庫,如果是用動態編譯,文件就比較小,但是依賴動態庫,如果放遲慶到開發板上運行提示缺少動態庫,就證明你沒有把動態庫放進開發板的/lib裡面,可以用ldd指令查看需要哪些庫;最後,記住移植的方式可以使用NFS或者TFTP,U盤也可以,放到開發板上後必須在文件存放的當前目錄下碼巧握./可執行文件,或者把文件放入/bin或者/sbin下面,就可以直接可執行文件,不用加./你可以在程序裡面加些調試信息輸出,例如printf,以此證明有執行。
Ⅷ 怎麼在筆記本虛擬機上運行嵌入式板子
程序?
1.安裝支持嵌入世和式開發搜春盯的虛擬機,並配置好必要的參數。
2.安裝嵌入式開發工具集,配置編譯環境,編寫程序代碼,完成程序的交叉編譯。
3.在虛擬機中安裝嵌入式板子的模擬軟體,將交叉編譯的程序上傳到模擬器森燃上面運行。
4.連接實際的嵌入式板子,使用燒錄器將編譯好的程序下載到嵌入式板子上,並對程序進行測試。
Ⅸ 如何在linux虛擬機里安裝交叉編譯
安裝Arm-Linux交叉編譯器正確的方法:
首先我用的是天嵌自帶的交叉編譯器EABI-4.3.3_EmbedSky_20100610.tar.bz2,
1. 首先建一個存放交叉編譯器的目錄,我建的目錄的絕對路徑是:/opt/TQ (TQ就是我建的目錄)
2. 解壓EABI-4.3.3_EmbedSky_20100610.tar.bz2:
tar xjvf EABI-4.3.3_EmbedSky_20100610.tar.bz2
該文件解壓後,就會在TQ這個目錄中生成兩個目錄:opt,usr;
3. 添加環境變數 :
在/etc/profile中添加
# Path manipulation
if [ "$EUID" = "0" ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
pathmunge /opt/TQ/opt/EmbedSky/4.3.3/bin/
fi
添加完後 source /etc/profile 使他生效;
4. 在控制台執行以下命令:
cp /opt/TQ/opt/EmbedSky/4.3.3/bin /usr/local/arm
總結:第3步和第4步這兩步少了一步就會出現以下錯誤:
arm-none-linux-gnueabi-gcc: error trying to exec 'cc1': execvp: No such file or directory
經驗:若在解壓時 用下面的命令:
tar xjvf EABI-4.3.3_EmbedSky_20100610.tar.bz2 -C/
就可以省去第四步
-C / :的意識是解壓到指定目錄,這里指根目錄,由於該壓縮包內部的目錄結構本身包含usr/local/arm,所以解壓到根目錄實際上就是把文件解壓到/usr/local/arm文件夾下。