Updated on 2025-12-04 GMT+08:00

Code Downloading and Compilation

Environment Information

The SDK must run on the Linux OS, and GCC (version 4.8 or later is recommended) must be installed. The SDK depends on the OpenSSL and Paho libraries. If you have your own compilation chains, compile these library files.

Installation Dependencies

Table 1 SDK dependencies

Database Name

Description

Instruction

OpenSSL

OpenSSL, an open-source cryptography tool library, offers a wide range of functions including encryption, decryption, certificate management, and secure communication. It is commonly utilized in network communication, data protection, and system security.

Compiling the OpenSSL Library

paho.mqtt.c

paho.mqtt.c, from the Eclipse Paho project, is a lightweight MQTT client library in C used for implementing Message Queuing Telemetry Transport (MQTT) communication. MQTT is an IoT communication protocol that operates on the publish/subscribe model, known for its low bandwidth usage, minimal power consumption, and high efficiency.

Compiling the Paho Library

zlib

zlib is a popular open-source data compression library primarily utilized for lossless compression and decompression. It incorporates the DEFLATE compression algorithm, which combines LZ77 and Huffman coding and serves as the standard compression method in various software and protocols.

Compiling the zlib Library

boundscheck

It is used to check the memory boundary or out-of-bounds array, improving code security and preventing vulnerabilities such as buffer overflow.

Compiling the Huawei Security Function Library

SSH

It is used to implement secure remote login, file transfer, and encrypted communication in applications. It protects data transmission through encrypted channels, preventing eavesdropping, tampering, and man-in-the-middle attacks.

Compiling the libssh Library

noPoll

A lightweight open-source WebSocket library implemented in C. It is mainly used to implement efficient WebSocket communication in embedded systems or resource-constrained environments.

Compiling the libnopoll Library

curl

It is used to access web pages, call REST APIs (such as GET, POST, PUT, and DELETE), and upload and download files.

Compiling the curl Library