由于某些众所周知的原因,github克隆代码库速度极慢,且编译之前需要克隆子模块,克隆子模块也时常失败,浪费时间。因此为了顺利编译azure-iot-sdk-c需要将github上的代码仓库克隆到gitee或本地gitlab上。
之后再使用如下命令从gitee克隆该仓库
git clone -b LTS_07_2021_Ref01 https://gitee.com/null_360_5406/azure-iot-sdk-c.git
打开克隆的仓库下的.gitmodules文件
依次采用与azure-iot-sdk-c相同的方法将子模块克隆到gitee上。
全部克隆完毕后更改.gitmodules文件,将各模块path修改为gitee上的路径
使用git submodule sync命令,将新的URL更新到文件.git/config
后续就可以按照文档说明进行编译
cd azure-iot-sdk-c
mkdir cmake
cd cmake
cmake ..
cmake --build . # append '-- -j <n>' to run <n> jobs in parallel
sudo make install 默认安装到/usr/local下。
头文件默认安装到下面几个路径下:
/usr/local/include/azureiot
/usr/local/include/azure_macro_utils
/usr/local/include/umock_c
/usr/local/include/iothub_service_client
库文件有以下这些:
/usr/local/lib/libparson.a
/usr/local/lib/libumock_c.a
/usr/local/lib/libaziotsharedutil.a
/usr/local/lib/libuamqp.a
/usr/local/lib/libumqtt.a
/usr/local/lib/libuhttp.a
/usr/local/lib/libiothub_service_client.a
/usr/local/lib/libiothub_client.a
/usr/local/lib/libiothub_client_http_transport.a
/usr/local/lib/libiothub_client_amqp_transport.a
/usr/local/lib/libiothub_client_amqp_ws_transport.a
/usr/local/lib/libiothub_client_mqtt_transport.a
/usr/local/lib/libiothub_client_mqtt_ws_transport.a
/usr/local/lib/libserializer.a