交叉编译
一.为什么要交叉编译
有一个imx6ull板,需要将一个程序下载进去,让其运行起来。如果直接用本地系统的编译器来编译的话,程序有可能编译出错,或者编译成功不能正常运行,所以需要用官方指定的编译工具来做交叉编译。
二.怎么使用交叉编译
2.1导出编译工具链到环境变量
a.在Ubuntu里下载了一个目标SDK工具链在以下目录:

b.用export命令把这个编译工具链导出到环境变量:
export PATH="/home/shared/shihui/001_platform_sdk/001_bes/gcc_tool_chain/gcc-arm-none-eabi-10.3-2021.10/bin:$PATH"
c.这样这个终端的子进程(比如 make、cmake)都能优先读取这个新的PATH去编译。
使用“echo $PAHT”命令,可以看到当前终端“gcc-arm-none-eabi-10.3-2021.10”的优先级最高。

2.2使用方法
参考当时的一个调试代码的makefile
点击查看代码
#指定使用系统环境变量CROSS_COMPILE定义的编译器。CROSS_COMPILE变量(如果有定义的话)后跟 gcc
GCC = $(CROSS_COMPILE)gcc
TARGET = test
LDFLAGS = -lm -lsndfile -lstdc++
SRC = $(wildcard *.cpp)
OBJ = $(patsubst %.cpp, %.o, $(SRC))
$(TARGET): $(SRC)
$(GCC) -o $@ $^ $(LDFLAGS)
# = $(GCC) -o $(TARGET) $(OBJ) $(LDFLAGS)
clean:
rm -f *.o $(TARGET)
三.关于交叉编译的命令 env | grep CROSS_COMPILE ---查看环境变量定义的交叉编译工具链 
which gcc ----查看系统使用的gcc位置
env ---查看环境变量
浙公网安备 33010602011771号