现象
- Undefined symbol xxx(reffered to xxx.o) 翻译过来是未定义的标识,这个错误常见于新人移植别人程序的时候,感觉都是一个芯片的例程,就可以直接扒过来,然后也没有红色波浪线提示错误,感觉就移植成功了,但是编译的时候,结果就提示了这些错误。
解决方案
- 导致这个问题的原因是芯片的一些官方库文件没有添加到工程文件夹下,但是那些库函数的头文件却确实已经被添加到工程路径里去了,所以keil能找到这些函数就没爆红,但是等到编译链接的时候却连接不到这些函数了。
- 只要找到错误提示里的c文件(看xxx.o,如上图bsp_usart.o就去找bsp_usart.c),找到里面没有被加入工程的头文件把他们都添加进来
1.找到缺失的头文件
2.添加到对应文件夹分组下(按自己工程实际找对应的)
3.找到对应文件并添加