本项目根据编译目标平台的不同,依赖于不同的库。
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.a
libs/libpng_ARM/libpng16.a
libs/openssl/libcrypto.a
和libssl.a
libs/mosquitto/lib/libmosquitto.a
libs/curl/lib/libcurl.a
这种方式的好处是,您无需在交叉编译环境中为目标平台逐一编译这些依赖库,项目本身已经自带了这些“干粮”。
3. 库版本说明
所有使用的第三方库(如LVGL, cJSON, mosquitto等)直接使用其最新稳定版即可,项目没有对特定旧版本的依赖