【问题标题】:Undefined symbol while using Keil IDE使用 Keil IDE 时未定义的符号
【发布时间】:2016-07-20 05:18:52
【问题描述】:

我正在使用 Nordic nRF51-DK SDK_11 和软设备 s130。

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

._build\nrf51422_xxac_s130.axf:错误:L6218E:未定义符号 dm_init(引用自 main.o)。 ._build\nrf51422_xxac_s130.axf:错误: L6218E:未定义的符号 dm_register(来自 main.o)。不是 足以列出图像符号的信息。

我已将 device_manager.h 包含在 PATHS 中。使用 Keil,我通过转到 Menu->Flash->Configure Flash Tools ... -> Include Paths -> Add components\ble\device_manager

来做到这一点

我还错过了什么?

【问题讨论】:

  • 您似乎已包含并使其路径为编译器所知的标头通常只是声明一个函数。它需要在某处定义(“真正的代码”)——通常在一个目标文件或库中,您需要链接您的代码。

标签: c linker-errors keil nrf51


【解决方案1】:

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

你可以找到教程here

【讨论】:

    猜你喜欢
    • 2017-07-27
    • 1970-01-01
    • 2021-09-28
    • 2020-04-02
    • 1970-01-01
    • 1970-01-01
    • 2018-12-28
    • 2017-03-10
    • 2015-04-14
    相关资源
    最近更新 更多