IAR Workbench: "HAL_SPI_Init" 错误没有定义

IAR Workbench: No Definition for "HAL_SPI_Init" error

我正在使用 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 文件),转到 Project > Options... > Category: Linker > Library并将您的库文件添加到 A​​dditional libraries 框中。