Stm32 IAR工作台:没有“的定义”;“好的,好的”;错误

Stm32 IAR工作台:没有“的定义”;“好的,好的”;错误,stm32,iar,Stm32,Iar,我正在使用IAR工作台编译代码 甚至我在项目的文件夹和对象>处理器中添加了所有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" [

我正在使用IAR工作台编译代码

甚至我在项目的文件夹和对象>处理器中添加了所有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
文件),请转到项目>选项…>类别:链接器>库,并将库文件添加到“附加库”框。

我添加了库。它解决了此问题,但我现在有另一个问题;我已经在另一个传输单元erorr中定义了Msp_Init函数,但我在源文件中只有一个hal_Msp.c文件。这意味着我有一个hal_Msp.c文件,这个文件包括Msp_Initfunctions@gogogo不幸的是,我无法根据该描述确定问题。既然你们有了新问题,那个么请问一个全新的问题。