Mac下编译zlib中的minizip

首先brew formula minizip拿到homebrew执行minizip的脚步

接着cd /usr/local/opt/minizip/.brew并vi minizip.rb

内容如下:

按照rb脚本的执行方式写一个对应的shell脚步

sh 复制代码
cd 到zlib目录
./configure
make
cd contrib/minizip
sed -i '' 's|-L$(zlib_top_builddir)|$(zlib_top_builddir)/libz.a|g' Makefile.am
sed -i '' 's|-version-info 1:0:0 -lz|-version-info 1:0:0|g' Makefile.am
sed -i '' 's|libminizip.la -lz|libminizip.la|g' Makefile.am
autoreconf -fi
./configure
make install

其中sed命令解释如下:

  • sed -i '' 's|-L (zlib_top_builddir)\| (zlib_top_builddir)/libz.a|g' Makefile.am
    这行命令的作用是在 Makefile.am 文件中把 -L (zlib_top_builddir) 替换为 (zlib_top_builddir)/libz.a。-L 选项通常在链接时使用,用于指示链接器搜索库文件的目录 $ (zlib_top_builddir) 是 zlib 库头文件所在目录的路径。替换后,不再链接整个目录下的库,而是只链接目录下的 libz.a 文件。
  • sed -i '' 's|-version-info 1:0:0 -lz|-version-info 1:0:0|g' Makefile.am
    这行命令寻找 Makefile.am 文件中的 -version-info 1:0:0 -lz 文本,并将其替换为 -version-info 1:0:0。这个命令删除了 -lz,这是链接 zlib 时通常会添加的选项,所以从链接过程中被移除,意味着不再链接 zlib。
  • sed -i '' 's|libminizip.la -lz|libminizip.la|g' Makefile.am
    这行命令则是将 Makefile.am 文件中的 libminizip.la -lz 替换为 libminizip.la,也就是去除了 -lz 标志。
相关推荐
楚轩努力变强18 小时前
iOS 自动化环境配置指南 (Appium + WebDriverAgent)
javascript·学习·macos·ios·appium·自动化
猫头虎1 天前
如何解决 OpenClaw “Pairing required” 报错:两种官方解决方案详解
网络·windows·网络协议·macos·智能路由器·pip·scipy
皮卡车厘子3 天前
Mac 挂载目录
macos
良逍Ai出海3 天前
在 Windows & macOS 上安装 Claude Code,并使用第三方 Key 的完整教程
windows·macos
热爱生活的五柒3 天前
linux/mac/wsl如何使用claude code,并配置免费的硅基流动API?(官方的需要付费订阅)
linux·运维·macos
胖胖大王叫我来巡山3 天前
mac本地安装DataEase桌面版
macos
奋斗者1号3 天前
OpenClaw 部署方式对比:云端、WSL、Mac 本机、Ubuntu 虚拟机(2026年2月最新主流实践)
linux·ubuntu·macos
玉梅小洋3 天前
Android SDK 安装指南(MacOS 和 Windows)
android·windows·macos·sdk
2501_916007473 天前
没有 Mac 用户如何上架 App Store,IPA生成、证书与描述文件管理、跨平台上传
android·macos·ios·小程序·uni-app·iphone·webview
胖胖大王叫我来巡山3 天前
Mac通过源码安装部署SQLBOT
macos