1、交叉编译
cunit交叉编译过程和在本地编译的过程基本一致,交叉编译时只需将编译器由默认的gcc编译器修改为适配ARM平台的交叉编译器即可,arm-linux-gcc
,根据系统中实际编译器名称修改。交叉编译过程如下:
tar -jxvf CUnit-2.1-3.tar.bz2
cd CUnit-2.1-3
libtoolize -f -c -i
aclocal
autoconf
autoheader
automake
chmod u+x configure
./configure --prefix=/opt/cunit CC=arm-linux-gcc CXX=arm-linux-g++ --host=arm-linux
make
make install
2、常见问题解决
2.1、环境变量问题
在执行./configure --prefix=/opt/cunit CC=arm-linux-gcc
的时候,如果遇到检查编译器不可用时,现象如下:
解决方式:将交叉编译链所在路径添加到环境变量中,添加成功后再次配置即可。
2.2、编译器问题
在进行龙芯CPU移植过程中,使用如下命令,出现同上的问题现象,提示编译器检查不可用。
./configure --prefix=/opt/cunit CC=mips64el-linux-gcc CXX=mips64el-linux-g++ --host=mips64el-linux
此时检查可排除环境变量的问题。
通过查看此编译器在编译其他工程代码的Makefile时发现,在使用此编译器时需增加--sysroot
参数:--sysroot=/opt/loongson_toolchain/sysroot
但是在进行configure配置时无法添加此参数,导致检查编译器不可用。
解决方式:在执行./configure之前执行如下命令
export SDKTARGETSYSROOT=/opt/loongson_toolchain/sysroot
然后进行configure配置,可顺利通过。
3、参考资料
Cunit单元测试框架-移植arm平台_cunit测试框架移植
arm交叉编译器 gcc fatal error: stdio.h: No such file or directory。正确的用法是用$(CC) $(LD)