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 标志。
相关推荐
黑夜路人1 小时前
Claude Code + 国产模型GLM-4.6 安装指南 (for Windows/Mac)
windows·macos
索西引擎2 小时前
MacOS 若要启用系统扩展,你需要在 “恢复” 环境中修改安全性设置
macos
绒绒毛毛雨2 小时前
爬虫前奏--基于macos的ip代理池构建
爬虫·tcp/ip·macos
游戏开发爱好者811 小时前
iOS 开发推送功能全流程详解 从 APNs 配置到上架发布的完整实践(含跨平台上传方案)
android·macos·ios·小程序·uni-app·cocoa·iphone
world-wide-wait1 天前
mac下载wget
macos
笑尘pyrotechnic1 天前
【OC】UIKit常用组件适配iOS 26
macos·ios·cocoa
zhu_superman1 天前
Git 中忽略 Mac 生成的 .DS_Store文件
git·macos
sztomarch1 天前
Generate-MAC-Address
macos
心灵宝贝1 天前
Keka for Mac v1.2.0 安装教程|pkg 文件安装步骤详解(附安装包)
macos
我来杀ai1 天前
mac在uup上下载windows镜像
macos