lipo
lipo –create Release-iphoneos/libiphone.a Debig-iphonesimulator/libiphone.a –output libiphone.a
看到这样的命令行,你会怎样理解呢。
很简单,我将模拟器和设备的静态库文件合并成一个文件输出了,以后在发布可以库的时候不用发一个模拟器版的和一个真机版的了,这样子的一个库可以在编译的时候自动识别需要连接的库。
那lipo到底是什么呢
lipo源于mac系统要制作兼容powerpc平台和intel平台的程序。
lipo 是一个在 Mac OS X 中处理通用程序(Universal Binaries)的工具。现在发售或者提供下载的许多(几乎所有)程序都打上了“Universal”标志,意味着它们同时具有 PowerPC 和 Intel 芯片能够处理的代码。不过既然你可能不在意其中的一个,你就能够使用 lipo 来给你的程序“瘦身”。比如你想让“便笺”应用程序只包含Intel(i386)的代码:
cd /Applications
lipo Stickies.app/Contents/MacOS/Stickies -thin i386 -output Stickies.app/Contents/MacOS/Stickies.i386
cd Stickies.app/Contents/MacOS/
rm Stickies
mv Stickies.i386 Stickies
查看打包信息
lipo -info /Users/pjk1129/Desktop/libPrint.a
拓展阅读:
1、ssh
这颗小小的“宝石”包含于 Mac OS X 的每个版本,其开发的最初目的只是为了取代 rsh/rlogin,现在却成为 Linux/Unix(包括 Mac OS X)社区不可缺少的一部分。openssh 的主要作用就是安全的远程管理。打开系统预置,点击“共享”,勾选“远程登录”,即可启动 Mac OS X 的内置 SSH 服务。现在假设你想连接你不在身边的电脑,可以借助类似 PuTTY(Windows 平台)的客户端,或者在 Mac OS X 的终端窗口中输入“ssh”连接你 Mac 的 IP 地址。以你的用户名和密码登录之后,你便获得了 Mac OS X 命令行的完整操作权。除此之外,openssh 还有许许多多应用,有些可是相当了不起的。我就很喜欢用 ssh 搭个 SOCKS 代理,这样我在公共地点也能安全上网冲浪。在Mac 上使用 ssh 的更多技巧,可以浏览本页!
2、top
top 是另一个长期为 Linux/Unix 社区使用的经典工具,使用它只需打开终端输入“top”。眨眼之间,你就会看见一个满是文字的窗口——每一个正在你的 Mac 上运行的进程都会被列出。如果我的 Mac 速度变慢,top 是让我知道什么正在发生的首选。点击 这里,查看 top 的完整概述。
3、lsbom
如果你偶然在某个 Mac 站点(比如 OS X Daily)发现一件够酷够新的软件,忍不住想安装,而你又犹豫不决,那么 lsbom 对你大有好处。通过它,你可以测试 Mac OS X 安装包(.pkg)的内容,并且清楚了解究竟会有什么被塞进你心爱的文件系统。要使用 lsbom,你需要启动终端,并进入 .pkg 文件所在的目录。如果你的安装包形式是 .dmg,可能需要把其中的 .pkg 文件拷贝到桌面上,然后进入 Desktop 目录。一旦确认 .pkg 文件的位置,输入“lsbom .pkg/Contents/Archive.bom> | more”。哇!你所看见的就是新程序将会安装的完整文件列表。
4、say hello(黑苹果就算了)
这个命令是 Mac OS X 独一无二的,比其他任何一个都更有趣。打开终端输入“say hello”试试吧!
相关推荐
确保你的Mac已经安装了命令行工具,如Xcode自带的`xcode-select`和`lipo`工具,这些工具用于处理iOS开发中的二进制文件。 2. **查看.a文件架构:** 使用`lipo -info <library.a>`命令检查每个.a文件支持的架构。...
- 首先,你需要从 FFmpeg 官方仓库(如 GitHub)克隆源码,这通常通过 `git clone` 命令完成。 - 接下来,确保你的 macOS 系统安装了 Xcode,因为它包含了 iOS 开发所需的 SDK 和工具链。 - 你也需要安装 ...
使用lipo命令进行合并:`lipo -create build/lib/libavcodec.a build/armv7s-ios/libavcodec.a -output libavcodec.a` - 对于其他组件如`libavformat`和`libavutil`,也需要执行相同的操作。 5. **将静态库整合进...
在分析工具方面,MachOView是一种用于查看Mach-O二进制文件内容的工具,而lipo命令可以用来处理Mach-O文件,例如查询和提取不同架构的代码。Strings和srch_strings工具可以用来从二进制文件中提取人类可读的字符串,...
例如,你可以从一个新的Xcode项目或预先构建的库中获取这些架构,然后使用`lipo -create`命令添加回: ```bash lipo -create libMyLibrary_stripped.a libMyLibrary_simulator.a -output libMyLibrary.a ``` 这里...
执行以下命令可以生成这样的通用库: ```bash lipo -create arm64/libssl.a armv7s/libssl.a armv7/libssl.a i386/libssl.a x86_64/libssl.a -output universal/libssl.a lipo -create arm64/libcrypto.a armv7s/...
同时,还需要安装Homebrew,这是一个Mac OS的包管理器,可以帮助我们快速安装编译所需的依赖库。 安装Homebrew命令: ``` /bin/bash -c "$(curl -fsSL ...
- 最后,使用`lipo`命令将不同架构的二进制文件合并成一个fat binary,以适应所有目标设备。 6. **test02ffmpeg**: 这个文件可能是编译后的FFmpeg库或者编译过程中产生的中间文件,用于验证编译结果是否正确,...
lipo -create $SOURCE_DIR/output/lib/libevent.a $SOURCE_DIR/output/lib/libevent_pthreads.a -output $SOURCE_DIR/output/lib/libevent_combined.a ``` **5. 创建Xcode工程** 在Xcode中创建一个新的iOS项目,将...
然后,使用`lipo`命令对`debugserver`进行瘦身,指定目标设备的架构,如`arm64`。这一步是为了确保`debugserver`适用于特定的iOS设备。 接着,为`debugserver`添加`task_for_pid`权限,这是调试其他App所必需的。...