gpt4 book ai didi

linker-errors - IAR 错误 [Li005] : no definition for function even though the file is added in the project and the path to the file is in the pre-processor paths

转载 作者:行者123 更新时间:2023-12-05 08:06:36 27 4
gpt4 key购买 nike

我有一个奇怪的问题。我正在尝试将来自 Nordic Semiconductors 外围设备示例的 spi 模块与 Central BLE Uart 项目集成。

所有示例都有一个通用的组件库。所以我所做的是将 spi_slave 文件 nrf_drv_spis.c 添加到我的项目中,并在项目的预处理器路径中添加该组件的路径。

$PROJ_DIR$\..\..\..\..\..\..\..\components\drivers\nrf_spi_slave 在我的预处理器路径中,这是 < strong>nrf_drv_spis.cnrf_drv_spis.h 是。

但是,当我编译代码时,出现了这个错误

Error[Li005]: no definition for "nrf_drv_spis_init" [referenced from D:\Repo\ble_projects\nRF5_SDK_12.3.0\examples\ble_central\ble_app_uart_c\pca10028\s130\iar\_build\main.o] 

nrf_drv_spis_init 是一个在 nrf_drv_spis.c 中找到的函数,其原型(prototype)在 nrf_drv_spis.h 中。同样奇怪的是,当我右键单击 nrf_drv_spis_init 并“转到定义”时,它总是将我带到头文件中的原型(prototype)。通常,IAR 会向我显示函数的原型(prototype)或定义,我需要单击声明或原型(prototype)。

所以它确实告诉我,无论出于何种原因,文件 nrf_drv_spis.c 似乎不在项目中,但我不知道该怎么做解决这个问题。

如有任何帮助,我们将不胜感激。谢谢。

最佳答案

所以这里的问题是我错过了另一个重要的头文件,一些定义在#ifdef 后面,因此在编译代码时,没有包含正确的文件。

设置正确的参数使代码能够正确编译。

关于linker-errors - IAR 错误 [Li005] : no definition for function even though the file is added in the project and the path to the file is in the pre-processor paths,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60176422/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com