项目场景:
嵌入式系统,am335x环境下,在执行交叉编译时有错误
问题描述:
在执行Makefile
执行make后
ti-processor-sdk-linux-am335x-evm-02.00.00.00/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/../arm-linux-gnueabihf/libc/usr/lib/arm-linux-gnueabihf/4.9.3/crt1.o: In function `_start':
/home/tcwg-buildslave/workspace/tcwg-make-release/label/tcwg-x86_64/target/arm-linux-gnueabihf/snapshots/eglibc.git~linaro_eglibc-2_19/libc/csu/../ports/sysdeps/arm/start.S:119: undefined reference to `main'
collect2: error: ld returned 1 exit status
提示有编译错误 undefined reference to `main’
collect2: error: ld returned 1 exit status
原因分析:
一种可能的原因是:
文件名在后缀前出现了空格,ls查看文件如下:
-rw-rw-r-- 1 zyy zyy 5916 Apr 13 19:33 lora_s2n_msg .h
-rw-rw-r-- 1 zyy zyy 1717 Sep 27 2020 Makefile
发现 lora_s2n_msg .h 在.h 前是有空格的,所有将这个文件重新命名即可