Ubuntu下安裝C 交叉編譯環境

2021-10-08 19:03:50 字數 2129 閱讀 4028

1.作業系統:ubuntu

2.安裝交叉編譯器:

用c++寫**要用c++的交叉編譯器編譯,使用apt安裝arm-linux-gnueabihf-g++,輸入命令:

sudo apt install arm-linux-gnueabihf-g++
3.修改makefile檔案:

將原來編譯c語言原始檔的arm-linux-gnueabihf-gcc替換成arm-linux-gnueabihf-g++,其他的不需要更改。

4.編譯c++原始檔:

使用make命令編譯

5.分享乙個我寫的makefile(c++版):感覺寫的不是很好,有點複雜。用法是:將源**(.cpp )以及啟動**(.s)放到src資料夾;將.**件放到inc資料夾,執行make命令後,自動建立build資料夾,並將目標檔案(.o)以及生成的二進位制可執行檔案放入build資料夾中。

cross_compile ?= arm-linux-gnueabihf-

cc := $(cross_compile)g++

ld := $(cross_compile)ld

objcopy := $(cross_compile)objcopy

objdump := $(cross_compile)objdump

build_dir := build

src_dir := src

inc_dir := inc

target := led

#src/main.c--->src/main.o--->build/main.o

obj_cpp := $(patsubst %, $(build_dir)/%, $(notdir $(patsubst %.cpp, %.o, $(wildcard $(src_dir)/*.cpp))))

#src/start.s--->src/start.o--->build/start.o

obj_s := $(patsubst %, $(build_dir)/%, $(notdir $(patsubst %.s, %.o, $(wildcard $(src_dir)/*.s))))

objs := $(patsubst %, $(build_dir)/%, $(notdir $(obj_cpp) $(obj_s)))

cpp_file := $(wildcard $(src_dir)/*.cpp)

s_file := $(wildcard $(src_dir)/*.s)

$(build_dir)/$(target).bin:$(objs)

$(ld) -ttext 0x87800000 -o $(build_dir)/$(target).elf $^

$(objcopy) -o binary -s $(build_dir)/$(target).elf $@

$(objdump) -d -m arm $(build_dir)/$(target).elf > $(build_dir)/$(target).dis

$(obj_cpp):$(cpp_file)

$(cc) -nostdlib -i $(inc_dir) -c -o $@ $<

$(obj_s):$(s_file)

$(cc) -nostdlib -i $(inc_dir) -c -o $@ $<

clean:

rm -rf build load.imx

print:

echo $(obj_cpp)

$(obj_cpp):|$(build_dir)

$(obj_s):|$(build_dir)

$(build_dir):

mkdir $(build_dir)

6.makefile解釋:

①第11行可以修改target變數來改變最終的二進位制檔案的命名;

②第37行的print是為了除錯makefile,執行命令make print即可執行print下面的**

ubuntu下安裝交叉編譯環境

操作環境 ubuntukylin 13.0.4 gcc 版本 3.4.1 開啟終端 進入超級使用者模式 進入到gcc 當前的目錄下 解壓縮 tar jxvd home xuxiong toolchain cross 3.4.1.tar.bz2 c 在 usr local 下可以看到 arm 資料夾 ...

Ubuntu下安裝交叉編譯環境

最近一直在弄linux系統,由於需要進行嵌入式操作,所以必須要安裝交叉編譯環境。下面是我安裝交叉編譯環境的過程,系統用的是ubuntu,對初學者應該有些幫助 安裝交叉編譯環境 ky.i9 u0 1.安裝標準的c開發環境,由於ubuntu安裝預設是不安裝的,所以需要先安裝一下 ic開發網 l lo x...

Ubuntu下安裝ARM交叉編譯工具

在ubuntu下安裝arm的交叉編譯工具是常用到的,下面以arm linux gcc 4.3.2為例講解arm下安裝交叉編譯工具 將 arm linux gcc 4.3.2.tar.gz 上傳到 usr local arm 下面 注意,如果當前目錄下沒有arm資料夾,請自己建立乙個 一般 我們都是通...