IAR Workbench:“HAL_SPI_Init”错误没有定义
Posted
技术标签:
【中文标题】IAR Workbench:“HAL_SPI_Init”错误没有定义【英文标题】:IAR Workbench: No Definition for "HAL_SPI_Init" error 【发布时间】: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
我该如何解决这个错误?
【问题讨论】:
【参考方案1】:您没有告诉链接器使用库文件,因此它无法找到您在目标文件中使用的匹配符号。
假设您的库已经编译(.a
或 .lib
文件),请转到 Project > Options...> Category: Linker > Library 并将您的库文件添加到 其他库框。
【讨论】:
我添加了 libraires 它解决了这个问题,但我现在有另一个问题;我得到 Msp_Init 函数已经在另一个翻译单元 errr 中定义,但我在源文件中只有一个 hal_msp.c 文件。 意思是我有一个 hal_msp.c 文件,这个文件包含 Msp_Init 函数 @gogogo 不幸的是,我无法根据该描述确定问题。既然你有新问题,那么请提出全新的问题。以上是关于IAR Workbench:“HAL_SPI_Init”错误没有定义的主要内容,如果未能解决你的问题,请参考以下文章
IAR Embedded Workbench:为什么我会收到链接器错误[Li005]?
IAR Embedded Workbench for ARM 8.22.1 基础使用教程
IAR Workbench:“HAL_SPI_Init”错误没有定义