【问题标题】:IAR Workbench: No Definition for "HAL_SPI_Init" errorIAR Workbench:“HAL_SPI_Init”错误没有定义
【发布时间】:2021-01-08 08:45:08
【问题描述】:

我正在使用 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

我该如何解决这个错误?

【问题讨论】:

    标签: stm32 iar


    【解决方案1】:

    您没有告诉链接器使用库文件,因此它无法找到您在目标文件中使用的匹配符号。

    假设您的库已经编译(.a.lib 文件),请转到 Project > Options...> Category: Linker > Library 并将您的库文件添加到 其他库框。

    【讨论】:

    • 我添加了 libraires 它解决了这个问题,但我现在有另一个问题;我得到 Msp_Init 函数已经在另一个翻译单元 errr 中定义,但我在源文件中只有一个 hal_msp.c 文件。
    • 意思是我有一个 hal_msp.c 文件,这个文件包含 Msp_Init 函数
    • @gogogo 不幸的是,我无法根据该描述确定问题。既然你有新问题,那么请提出全新的问题。
    猜你喜欢
    • 2015-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-21
    • 2019-02-17
    • 2013-11-08
    • 2013-10-20
    • 2021-10-23
    相关资源
    最近更新 更多