【免费下载链接】ShichiZipThe 7-Zip derivative intended for macOS项目地址https://gitcode.com/gh_mirrors/sh/ShichiZip点击查看免费下载ShichiZip 是一款面向 macOS 的原生 7-Zip 衍生压缩工具完整支持上游 7-Zip 的全部压缩格式并带来一键智能解压、Quick Look 压缩包预览等 Mac 专属体验。本文是一篇面向新手的 ShichiZip 源码编译教程整个构建流程由 XcodeGen、Zig、Xcode 三个工具接力完成——XcodeGen 生成工程、Zig 编译 7-Zip 核心静态库与 SFX 模块、Xcode 产出最终 App。跟着下面的步骤走一遍你就能从源码构建出属于自己的 ShichiZip。一、准备工作安装 XcodeGen、Zig 和 Xcode在开始编译前需要确认本机具备以下 4 个依赖详见 BUILD.md工具用途版本要求Xcode编译 macOS 应用与 CI 一致的最新版本项目紧跟最新 Xcodexcodegen由project.yml生成 Xcode 工程任意较新版本Zig编译 7-Zip 静态库和 SFX 模块≥ 0.16.0Homebrew 安装需0.16.0_1或更新Python 3运行project/scripts/下的本地化脚本3.xbrew install xcodegen zig⚠️ 注意Homebrew 的zig 0.16.0bottle 携带了一个损坏的zig ar务必升级到0.16.0_1及以上版本否则会在这一步踩坑。然后获取源码。仓库通过 Git 子模块管理上游 7-Zip 源码位于vendor/clone 时记得带上--recurse-submodulesgit clone --recurse-submodules https://gitcode.com/gh_mirrors/sh/ShichiZip cd ShichiZip如果之前已经 clone 过但漏了子模块补一句即可git submodule update --init --recursive。ShichiZip 提供两个共享同一份 App 代码、链接不同上游 7-Zip 代码树的变体Mainlinescheme 名ShichiZip链接vendor/7zip主线代码Zstandard forkscheme 名ShichiZipZS链接vendor/7zip-zstd分支额外支持 Zstandard 等压缩算法。下文命令以 Mainline 为例Zstandard 版本把 scheme 和-Dvariant换成zs即可。二、第一步用 XcodeGen 生成 Xcode 工程在仓库根目录执行xcodegen generate这一步做三件事流程说明见 BUILD.md消费入口文件 project.yml它通过include汇总了project/specs/下的 base、archive-core、apps、quick-actions、schemes 等规格文件生成ShichiZip.xcodeproj通过 project/specs/base.yml 中配置的preGenCommand自动运行本地化脚本 generate_strings.py把 7-Zip 上百种语言的Lang/*.txt词表转成各语种的Upstream.strings生成 Quick Action 扩展的InfoPlist.strings。生成的工程默认不硬编码开发团队或签名身份本地 Debug 构建在无团队时可用 ad-hoc 签名。如果只想验证编译、完全跳过签名可以生成无签名变体SHICHIZIP_UNSIGNEDtrue xcodegen generate它对应 project/specs/unsigned.yml 这份条件叠加配置仅在SHICHIZIP_UNSIGNED存在时启用会关闭 Debug/Release 的代码签名。验证完想恢复不带该变量重新执行一次xcodegen generate即可。 提示每次修改了project/specs/下的规格或本地化源文件后都需要重新运行xcodegen generate。三、第二步用 Zig 编译 7-Zip 静态库和 SFX 模块ShichiZip 的压缩/解压能力来自上游 7-Zip 的 C/C 代码。构建脚本 build.zig 会先自动应用补丁vendor/apply_7zip_patches.sh再产出两类产物1macOS 静态库必须# Mainline 变体 zig build lib -Dvariantmainline -Dtargetaarch64-native -DoptimizeReleaseFast -p buildZstandard fork 变体改为-DvariantzsIntel 机器把-Dtarget换成x86_64-native。产物输出到build/lib/即lib7zip.a/lib7zip-zs.a下一步 Xcode 会把它链接进 ArchiveCore framework。2Windows SFX 模块自解压功能需要zig build sfx -Dvariantmainline -Dsfx-archx86 -DoptimizeReleaseSmall -p build这些小模块在创建自解压压缩包时会被打包进 App。-Dsfx-arch也可以取x86_64或all只是当前打包默认只带上x86版本。 偷懒模式zig build all可以一次跑完 lib sfx 两个步骤-Dvariantall则同时构建两个上游代码树代价是 SFX 产物会比上面分阶段命令更大一些。四、第三步用 Xcode 构建 macOS 应用静态库就位后用xcodebuild构建 Appxcodebuild -project ShichiZip.xcodeproj -scheme ShichiZip -configuration Debug -arch arm64 buildZstandard fork 换用-scheme ShichiZipZSIntel 构建换-arch x86_64发布构建换-configuration Release。Xcode 这一步在背后做了关键的收尾工作见 project/specs/archive-core.yml通过-force_load把build/lib/里的静态库强制加载进ShichiZipArchiveCore.framework让主 App 和 Quick Look 预览扩展共享同一份动态镜像把 framework 嵌入/签名到 App 的Contents/Frameworks扩展通过 runpath 加载它嵌入 Quick Action 扩展和build/sfx/里对应的 SFX 模块。顺手跑一下测试每个变体都自带单测和 UI 测试 target验证编译结果可以只跑单元测试xcodebuild -project ShichiZip.xcodeproj -scheme ShichiZip -configuration Debug -arch arm64 -only-testing:ShichiZipTests testUI 测试会驱动真实 App 界面运行时请不要碰键盘鼠标。完整测试矩阵含ShichiZipZS变体参考 BUILD.md。五、构建流程串讲三个工具如何接力理解这条流水线后遇到报错就知道去查哪一环Zigbuild.zig→ 给vendor/打上补丁编译 7-Zip 静态库含vendor/SZ*.mm的 Objective-C 垫片与 Windows SFX 模块输出到build/XcodeGenproject.yml→ 生成ShichiZip.xcodeproj并借 Python 脚本产出本地化文件Xcode→ 静态库 → ArchiveCore framework → 链接 App 与扩展最终嵌入签名。源码结构也围绕这套流程组织见 BUILD.mdShichiZip/Bridge/是 Swift ↔ C 的桥接层ShichiZip/QuickLookPreview/是 Quick Look 扩展project/下则放着 XcodeGen 规格、构建脚本和本地化数据。六、常见问题速查症状原因解决办法zig build在归档阶段报zig ar错误Homebrew 的zig 0.16.0bottle 有已知缺陷升级到zig 0.16.0_1或更新编译期 Swift/新语法报错Xcode 版本过旧项目紧跟最新 Xcode升级 Xcode 到与 CI 一致的版本vendor/7zip为空或补丁脚本报错clone 时未拉取子模块git submodule update --init --recursive本地构建卡在签名/证书报错没有配置开发团队用SHICHIZIP_UNSIGNEDtrue xcodegen generate生成无签名工程改完 specs 后工程没变化忘记重新生成工程再跑一次xcodegen generate小结ShichiZip 的源码编译核心就是三步xcodegen generate生成工程 →zig build产出 7-Zip 静态库和 SFX 模块 →xcodebuild构建 App。三个工具各司其职命令都不长照抄本文命令并留意 Zig 版本与子模块两个易错点基本就能一次通过。祝你顺利构建出自己的 ShichiZip赞分享【免费下载链接】ShichiZipThe 7-Zip derivative intended for macOS项目地址https://gitcode.com/gh_mirrors/sh/ShichiZip点击查看免费下载相关推荐仓颉标准库源码构建实战build.py 三步完成编译、交叉编译与构建系统底层解析仓颉标准库源码构建实战build.py 三步完成编译、交叉编译与构建系统底层解析 本篇技术指南以 stdlib/build_std_zh.md https:/编程语言语言运行时标准库内存管理OpenHarmonyGlance源码构建完整教程Xcode 26环境下编译、ArcFace模型转换与本地运行Glance源码构建完整教程Xcode 26环境下编译、ArcFace模型转换与本地运行 Glance 是一款开源的 Mac 人脸解锁应用 Face Unl人工智能计算机视觉AI 应用桌面应用身份认证终极Vim编译指南从源码构建高效编辑器的完整教程终极Vim编译指南从源码构建高效编辑器的完整教程 Vim是一款功能强大的文本编辑器通过从源码编译安装你可以获得最新特性和自定义配置的灵活性。本教程将带你完代码编辑器开发工具CLI桌面应用上一篇Pixyz深度学习框架的架构设计与实现原理解析下一篇猫抓 cat-catch 使用指南如何下载网页视频与 m3u8 流媒体创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?