交叉编译 手动安装 libzip 库 移植ARM 需要 zlib的

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

相关推荐
啊吧怪不啊吧1 小时前
UU远程协助迎来升级!第一期更新实测
运维·服务器·远程工作
C_心欲无痕7 小时前
ts - tsconfig.json配置讲解
linux·前端·ubuntu·typescript·json
冰西瓜6007 小时前
国科大2025操作系统高级教程期末回忆版
linux
HIT_Weston8 小时前
93、【Ubuntu】【Hugo】搭建私人博客:面包屑(一)
linux·运维·ubuntu
cuijiecheng20188 小时前
Linux下Beyond Compare过期
linux·运维·服务器
喵叔哟8 小时前
20.部署与运维
运维·docker·容器·.net
HIT_Weston9 小时前
92、【Ubuntu】【Hugo】搭建私人博客:侧边导航栏(六)
linux·运维·ubuntu
CodeAllen嵌入式9 小时前
Windows 11 本地安装 WSL 支持 Ubuntu 24.04 完整指南
linux·运维·ubuntu
码农小韩10 小时前
基于Linux的C++学习——指针
linux·开发语言·c++·学习·算法
早日退休!!!10 小时前
ARM Cortex-M核 【保存上下文&恢复上下文】
arm开发·单片机·嵌入式硬件