本项目已采用 Microsoft 开源行为守则。更多信息请参阅 行为守则常见问题解答 或联系 [email protected] 以获取任何额外的疑问或评论。
Azure C 共享实用工具
azure-c-shared-utility 是一个 C 库,为基本任务(如字符串、列表操作、IO 等)提供常用功能。
依赖
azure-c-shared-utility 提供了 3 个 tlsio 实现:
- tlsio_schannel - 仅在 Windows 上运行
- tlsio_openssl - 依赖于已安装的 OpenSSL
- tlsio_wolfssl - 依赖于已安装的 WolfSSL
azure-c-shared-utility 依赖于 curl 用于 Linux 的 HTTPAPI。
azure-c-shared-utility 使用 cmake 配置构建文件。
设置
- 使用递归选项克隆 azure-c-shared-utility。
git clone --recursive https://github.com/Azure/azure-c-shared-utility.git
-
在 azure-c-shared-utility 下创建一个名为 cmake 的文件夹。
-
切换到 cmake 文件夹并运行:
cmake ..
- 构建
cmake --build .
安装和使用
可选地,您可能在您的机器上选择安装 azure-c-shared-utility
-
切换到 cmake 文件夹并运行:
cmake -Duse_installed_dependencies=ON ../
cmake --build . --target install
或使用以下命令为每个平台安装
在 Linux 上
sudo make install
在 Windows 上
msbuild /m INSTALL.vcxproj
-
(如果已安装) 在您的项目中使用它
find_package(azure_c_shared_utility REQUIRED CONFIG) target_link_library(yourlib aziotsharedutil)
如果在运行测试,这需要在您的机器上通过 CMake 安装 umock-c、azure-ctest 和 azure-c-testrunner-switcher。
构建测试
为了构建测试使用
cmake .. -Drun_unittests:bool=ON
配置选项
要开启/关闭 tlsio 实现,请使用以下 CMAKE 选项
-Duse_schannel:bool={ON/OFF}
- 开启/关闭 SChannel 支持-Duse_openssl:bool={ON/OFF}
- 开启/关闭 OpenSSL 支持。如果使用此选项,应设置环境变量 OpenSSLDir 以指向 OpenSSL 文件夹。-Duse_wolfssl:bool={ON/OFF}
- 开启/关闭 WolfSSL 支持。如果使用此选项,应设置环境变量 WolfSSLDir 以指向 WolfSSL 文件夹。-Duse_http:bool={ON/OFF}
- 开启/关闭 HTTP API 支持。-Duse_installed_dependencies:bool={ON/OFF}
- 开启/关闭通过已安装的依赖关系构建 azure-c-shared-utility。此包只能在标志开启的情况下安装。-Drun_unittests:bool={ON/OFF}
- 启用单元测试构建。默认为 OFF。
移植到新设备
将 Azure IoT C SDK 移植到新设备的说明位于 此处。