【问题标题】:L6218E: Undefined symbol IoTHubMessage_IsSecurityMessageL6218E: 未定义符号 IoTHubMessage_IsSecurityMessage
【发布时间】:2021-09-18 18:47:28
【问题描述】:

我正在尝试通过 LTE 将 azure 与 Ublox 模块 C030-R412m 连接。我正在通过 Mbed Studio 对其进行编程,但我什至没有设法编译 azure iot hub 库。

我正在尝试编译包含以下函数的 main:

#include "mbed.h"
#include "iothub_message.h"

// main () runs in its own thread in the OS
int main ()
{
    IOTHUB_MESSAGE_HANDLE messageHandle;
    
    IoTHubMessage_IsSecurityMessage (messageHandle);
}

它会产生以下错误:

Building project mbed-os-empty-5 (UBLOX_C030_R412M, ARMC6)
Scan: mbed-os-empty-5
Link: mbed-os-empty-5
[Warning] @ 0,0: L3912W: Option 'legacyalign' is deprecated.
[Error] @ 0,0: L6218E: Undefined symbol IoTHubMessage_IsSecurityMessage (referred from BUILD / UBLOX_C030_R412M / ARMC6 / main.o).
Warning: L3912W: Option 'legacyalign' is deprecated.
Error: L6218E: Undefined symbol IoTHubMessage_IsSecurityMessage (referred from BUILD / UBLOX_C030_R412M / ARMC6 / main.o).
Finished: 0 information, 1 warning and 1 error messages.
[ERROR] Warning: L3912W: Option 'legacyalign' is deprecated.
Error: L6218E: Undefined symbol IoTHubMessage_IsSecurityMessage (referred from BUILD / UBLOX_C030_R412M / ARMC6 / main.o).
Finished: 0 information, 1 warning and 1 error messages.

这些库已经从每个 Github 存储库下载,我唯一修改的是从 umock-c 存储库中我只将 mock_c_prod.h 库放在根文件夹中,如前面所示图片。

【问题讨论】:

  • 您是否正确链接了这些库?请检查库路径(库和头文件)是否包含在系统路径中。
  • 你能解释一下如何在 Windows 10 的系统路径中包含库吗?
  • 同样,这些库是手动包含在代码中的
  • 可以在环境变量中设置PATH变量。
  • 解决:MbedStudio->View->Libraries,里面包含主菜单中的库,或者修改电流。

标签: c++ c azure mbed


【解决方案1】:

解决方案很简单,如果您收到该错误,则说明库有问题。 应该做的是:

或者将库包含在 PATH 中,这更复杂。

或者最简单的方法是进入 View-> Libraries 菜单,所有可用的库都会出现在那里,你所要做的就是:

点击“sum”图标以包含库。如果您想将库更新到以前或以后的版本,您必须提供image 的图标,然后输入:“签出版本”。并选择最适合我们的版本。

【讨论】:

    猜你喜欢
    • 2017-06-18
    • 2017-07-27
    • 2020-04-02
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 2012-11-07
    • 2012-09-05
    • 2017-06-25
    相关资源
    最近更新 更多