所用到的功能一样,我就移植了别人的代码,但是一直弹出这个错误,翻译说是没有定义找不到,但是已经定义过了,网上搜了好多解决办法也没用,有没有人知道这个问题的解决办法

所用到的功能一样,我就移植了别人的代码,但是一直弹出这个错误,翻译说是没有定义找不到,但是已经定义过了,网上搜了好多解决办法也没用,有没有人知道这个问题的解决办法

阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
你遇到的问题可能是由于编译器的优化导致的。STM32的编译器可能会将未使用的变量或函数优化掉,从而导致找不到定义的错误。
可以尝试以下解决方案:
-O0 选项来禁用编译器的优化:gcc -O0 -c main.c
-fno-omit-frame-pointer 选项来禁用编译器的优化:gcc -fno-omit-frame-pointer -c main.c
nm 命令来检查代码中的符号表:nm -D main.o
这将显示代码中的所有符号表项。如果发现任何未定义的符号,可以尝试重新编译代码或检查代码中的定义。
如果你仍然无法解决问题,可以提供更多的代码信息和错误信息,我将尽力帮助你解决问题。