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 标志。
相关推荐
张飞签名上架13 小时前
深耕全球市场:App上架iOS与Google Play全流程指南
macos·ios·cocoa·ios上架·上架·谷歌上架
DisonTangor14 小时前
Mac Studio配备1.5 TB显存——基于雷电5的远程直接内存访问技术
人工智能·macos·开源·aigc
天庭鸡腿哥15 小时前
输入序列号,可激活正版软件!
microsoft·macos·visual studio·everything
FreeBuf_1 天前
朝鲜黑客组织“传染性面试“瞄准macOS:新型“DriverFixer“窃密工具浮出水面
macos·面试·职场和发展
Zfox_1 天前
无缝穿越系统边界:节点小宝4.0如何让我的Mac/iOS像访问本地盘一样操控Windows
windows·macos·ios·节点小宝
MicJordan1 天前
macos安装Claude提示command not found
macos
坠金1 天前
mac电脑网络卡顿解决方法
macos
写点啥呢2 天前
MacOS远程桌面报错0x207解决方法
macos
CrankZ2 天前
幕译 1.7--本地字幕生成与翻译--支持macOS,Windows
macos·whisper
ashcn20012 天前
autohotkey模拟mac中英文切换和ESC切成英文(适配vim)
macos·autohotkey