当前位置: 首页 > news >正文

交叉编译 手动安装 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

http://www.dtcms.com/a/356378.html

相关文章:

  • R ggplot2学习Nature子刊一张图,换数据即可用!
  • [机器学习]基于K-means聚类算法的鸢尾花数据及分类
  • 把 AI 塞进「智能跳绳」——基于 MEMS 传感器的零样本卡路里估算器
  • 机器学习回顾——线性回归
  • GitHub 宕机自救指南:打造韧性开发体系
  • 基于站点、模式、遥感多源降水数据融合与评估;Python驱动下,从基础处理、机器学习建模到气候态产品生成的全流程解析
  • Consul 操作命令汇总 - Prometheus服务注册
  • 选华为实验工具:eNSP Pro 和社区在线实验哪个更适合?
  • 腾讯位置商业授权微信小程序距离计算
  • OpenAI GPT-realtime 实时语音 API 完整指南:2025年语音AI的革命性突破
  • STM32的RTC模块及其应用场景
  • MTK Linux DRM分析(二十三)- MTK mtk_drm_crtc.c(Part2)
  • 嵌入式Linux驱动开发 - GPIO LED驱动
  • 税务岗位能力提升培训课程推荐
  • 嵌入式Linux驱动开发:定时器驱动
  • 解析DB-GPT项目中三个 get_all_model_instances 方法的区别
  • 【WebRTC】从入门到忘记
  • 解密 Vue 3 shallowRef:浅层响应式 vs 深度响应式的性能对决
  • 园区智慧水电管理系统:让能源管理从“成本黑洞”变“利润引擎”
  • 【GM3568JHF】FPGA+ARM异构开发板 使用指南:以太网
  • nginx 怎么将 https 请求转为 http
  • AR巡检系统:数字化传统工作流程SOP的第一步
  • //Q是一个队列,S是一个空栈,实现将队列中的元素逆置的算法。
  • 从零开始学习单片机17
  • 医疗AI时代的生物医学Go编程:高性能计算与精准医疗的案例分析(五)
  • AR智能眼镜:能源行业运维的数字化革新
  • iOS 文件管理与 uni-app 性能优化实战 多工具协作的完整指南
  • Frida-dexdump 使用指南:从内存中脱取安卓 Dex 文件
  • Go对接全球期货数据源指南:基于StockTV API实现多品种实时监控
  • LeetCode第二题知识点2 ---- 栈、堆、地址