安装 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