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 标志。
相关推荐
元Y亨H4 小时前
Mac 进阶效率手册:从操作熟练到效率飞升
macos
开开心心就好17 小时前
无弹窗不更新的PC本地播放工具
运维·科技·macos·docker·计算机外设·ocr·powerpoint
小王师傅6617 小时前
深入解析:Docker在Mac上的运行本质与Linux进程管理机制
linux·macos·docker
微步_ym18 小时前
Docker:在Mac的docker.desktop中安装mongo
macos·docker·容器
fukai772218 小时前
Parallels Desktop 26 :Mac 上运行 Windows 的最佳虚拟化方案
macos
ideal-cs20 小时前
总结:Windows/Mac电脑,安装ClaudeCode + DeepSeekV4Pro
windows·macos·claude code·安装claude code·deepseek v4 pro
pop_xiaoli2 天前
【iOS】通知传值实现
macos·ios·xcode
起个破名想半天了2 天前
VMWare安装macOS虚拟机教程
macos
科技侃谈2 天前
Windows和Mac日常使用推荐?联想小新 Air 15 给出大屏新答案
macos
PersistJiao2 天前
针对 Intel Mac 的硬件限制提升faster-whisper字幕识别的方法
macos·whisper