c - 使用 Keil IDE 时 undefined symbol

标签 c linker-errors keil nrf51

我使用的是Nordic nRF51-DK SDK_11和软器件s130。

我在添加设备管理器时遇到以下错误。我正在使用 Keil 编译器。

._build\nrf51422_xxac_s130.axf: Error: L6218E: Undefined symbol dm_init (referred from main.o). ._build\nrf51422_xxac_s130.axf: Error: L6218E: Undefined symbol dm_register (referred from main.o). Not enough information to list image symbols.

我已将 device_manager.h 包含在路径中。使用 Keil,我通过转到菜单->Flash->配置 Flash 工具...->包含路径->添加组件\ble\device_manager

我还错过了什么?

最佳答案

根据您要使用的 SDK 版本,您需要编译并链接 device_manager_peripheral.c 。对于 NRF5 SDK 版本 11.0.0,它位于文件夹 <path to sdk>/nRF5_SDK_11/components/ble/device_manager 中.

您可以找到教程here .

关于c - 使用 Keil IDE 时 undefined symbol ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38472854/

相关文章:

c - MAX 值过大的程序崩溃案例

c - 头文件和 makefile 的格式/用途是什么? (C)

python - 如何在多个 C 扩展之间共享 C 单例

c - 当指针值改变时,堆作用域会成功释放吗?

c - 求给定集合的所有子集的总和

c++ - 什么是 undefined reference /未解析的外部符号错误,我该如何解决?

c - 使用链接器命令将 C 中的数组分配到特定位置

c - 基于结构的程序、链接器和多个定义?

c - 如何将变量放置在内存中给定的绝对地址(使用 GCC)

c++ - 欺骗 ARM 连接器将功能代码放入某些数据存储器中