安装 libzip 库 ,先安装 zlib
先安装 zlib 正确的 zlib 交叉编译方法-CSDN博客
tar -xzf libzip-1.10.1.tar.gz
cd libzip-1.10.1
mkdir build
cd build
cd ~/libzip-1.10.1/build
# 清除之前的配置
rm -rf *
# 重新运行 CMake,禁用 OpenSSL 支持
cmake .. \
-DCMAKE_INSTALL_PREFIX=/home/lxh/arm-libs/install \
-DCMAKE_SYSTEM_NAME=Linux \
-DCMAKE_C_COMPILER=arm-linux-gnueabihf-gcc \
-DCMAKE_CXX_COMPILER=arm-linux-gnueabihf-g++ \
-DCMAKE_C_FLAGS="-Os" \
-DZLIB_LIBRARY=/home/lxh/arm-libs/install/lib/libz.a \
-DZLIB_INCLUDE_DIR=/home/lxh/arm-libs/install/include \
-DENABLE_OPENSSL=OFF \
-DBUILD_SHARED_LIBS=OFF \
-DBUILD_STATIC_LIBS=ON \
-DBUILD_DOC=OFF \
-DBUILD_EXAMPLES=OFF \
-DBUILD_REGRESS=OFF \
-DBUILD_TOOLS=OFF
# 然后重新编译和安装
make -j4
make install
参数解释:
-
-DCMAKE_INSTALL_PREFIX=...
: 指定安装路径 -
-DCMAKE_SYSTEM_NAME=Linux
: 指定目标系统 -
-DCMAKE_C_COMPILER=...
: 指定 C 交叉编译器 -
-DCMAKE_CXX_COMPILER=...
: 指定 C++ 交叉编译器 -
-DCMAKE_C_FLAGS="-Os"
: 设置编译优化选项 -
-DBUILD_SHARED_LIBS=OFF
: 禁用共享库(生成 .a 静态库) -
-DBUILD_STATIC_LIBS=ON
: 启用静态库 -
其他
OFF
选项用于禁用不必要的组件,减少编译体积
# 然后重新编译
make -j4
make install



makefile 示例
CC = arm-linux-gnueabihf-gcc
CFLAGS = -Os -I/home/lxh/arm-libs/install/include
LDFLAGS = -L/home/lxh/arm-libs/install/lib -lzip -lz -lssl -lcrypto -static
zip_folder: zip_folder.cpp
(CC) (CFLAGS) zip_folder.cpp -o zip_folder $(LDFLAGS)
clean:
rm -f zip_folder