本项目根据编译目标平台的不同,依赖于不同的库。
1. PC (Linux) 平台依赖
在PC上编译时,项目依赖于您系统上已经安装好的开发库。您需要通过包管理器(如apt)来安装它们。
- 核心库:
build-essential,cmake,pkg-config - LVGL 模拟器:
libsdl2-dev - LVGL 字体与图片:
libfreetype6-dev,libpng-dev,zlib1g-dev - 网络与通信:
libssl-dev,libcurl4-openssl-dev,libmosquitto-dev,libcjson-dev
您可以使用以下命令在Debian/Ubuntu系统上一次性安装所有依赖:
1 | sudo apt install build-essential cmake pkg-config libsdl2-dev libfreetype6-dev libpng-dev zlib1g-dev libssl-dev libcurl4-openssl-dev libmosquitto-dev libcjson-dev |
2. ARM 平台依赖
在为ARM平台交叉编译时,CMake被配置为不使用系统库,而是链接项目 libs/ 目录下预编译好的静态库。
这些库包括:
libs/freetype/lib/arm/libfreetype.alibs/libpng_ARM/libpng16.alibs/openssl/libcrypto.a和libssl.alibs/mosquitto/lib/libmosquitto.alibs/curl/lib/libcurl.a
这种方式的好处是,您无需在交叉编译环境中为目标平台逐一编译这些依赖库,项目本身已经自带了这些“干粮”。
3. 库版本说明
所有使用的第三方库(如LVGL, cJSON, mosquitto等)直接使用其最新稳定版即可,项目没有对特定旧版本的依赖