问题描述
我正在使用IAR Workbench来编译我的代码,
即使我在项目中的文件夹和对象>处理器中添加了所有Stm32 Hal库
我收到此错误:
[ErrorLi005]: no definition for "HAL_SPI_Init" [referenced from C:\Users\Desktop\Project\EWARM\Project\Obj\api_lib.o
[ErrorLi005]: no definition for "HAL_I2C_Init" [referenced from C:\Users\Desktop\Project\EWARM\Project\Obj\api_lib.o
[ErrorLi005]: no definition for "HAL_USART_Init" [referenced from C:\Users\Desktop\Project\EWARM\Project\Obj\api_lib.o
[ErrorLi005]: no definition for "HAL_ETH_Init" [referenced from C:\Users\Desktop\Project\EWARM\Project\Obj\api_lib.o
...
Linking error
如何解决此错误?
解决方法
您尚未告诉链接器使用库文件,因此它找不到在目标文件中使用的匹配符号。
假设您的库已被编译(.a
或.lib
文件),请转到项目>选项...>类别:链接程序>库并添加您的库文件到其他库框。