问题描述
环境:
Ubuntu 18.04
OpenSSL downloaded from github.
Azure IOT C SDK downloaded from github.
Cross compiling for Android NDK version 22.0.7026061
Azure iot C sdk 依赖于 OpenSSL。我已经下载并构建了 openssl。但是,在构建 Azure iot sdk 时,我遇到了不同的错误。
首先,我收到错误,提示我使用了 OpenSSL 中某些已弃用的函数。通过向 CFLAGS 添加 -Wno-deprecated-declarations,我设法忽略了这些错误。
现在,我在 c-utility/adapters/x509_openssl.c 中遇到关于“struct ssl_ctx_st”类型定义不完整的错误。
我想知道我是否需要针对 openssl 的特定 git 分支构建 azure iot sdk 代码。问候。
解决方法
documentation 声明 C-SDK 有一些依赖项,并建议使用以下命令正确安装它们(包括开放的 SSL 依赖项):
sudo apt-get update
sudo apt-get install -y git cmake build-essential curl libcurl4-openssl-dev libssl-dev uuid-devC
CMake 至少需要 4.4.7 版本。
然后尝试使用以下命令构建:
cd azure-iot-sdk-c
mkdir cmake
cd cmake
cmake ..
cmake --build .