我正在为 STM32F4 微控制器编译一个 c++ 应用程序。我的所有代码都成功编译,但链接步骤失败并出现以下错误:
/tmp/ccGj7Wge.o: In function `LoopFillZerobss':
(.text.Reset_Handler+0x32): undefined reference to `main'
collect2: error: ld returned 1 exit status
我熟悉未定义对主要错误的引用的典型原因,即尝试在没有主要存在的情况下编译应用程序。但是,我确实有一个 main.cpp,当然,其中还有一个 main 函数。它编译为 main.o,并与编译期间创建的其他目标文件链接。
我正在交叉编译到 STM32F407 上,并且正在运行裸机。
有人对此有任何见解或以前见过此错误吗?我看到 LoopFillZerobss 函数的唯一地方是电路板的程序集启动文件。