【发布时间】: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,里面包含主菜单中的库,或者修改电流。