通用静态库的生成,使用lipo将两个.a文件合并成一个

百度地图、支付宝用到过将2个.a文件合并

通用静态库的生成

打开命令行 (终端) 入:

lipo -create

然后依次把两个.a文件拖到终端窗口, 命令行会变成这样:

lipo
-create /Library/SDKs/CorePlotSDK/iphoneos.sdk/usr/lib/libCorePlot.a
/Library/SDKs/CorePlotSDK/iphonesimulator.sdk/usr/lib/libCorePlot.a

然后接着入 -output 目标文件路径,如:

-output /Users/keesuper/Test/Core_Plot_Test/coreplot/lib/libCorePlotAll.a

最后现这样一条命令:

lipo
-create /Library/SDKs/CorePlotSDK/iphoneos.sdk/usr/lib/libCorePlot.a
/Library/SDKs/CorePlotSDK/iphonesimulator.sdk/usr/lib/libCorePlot.a
-output
/Users/keesuper/Test/Core_Plot_Test/coreplot/lib/libCorePlotAll.a

好了,回车,这样就会生成通用的静态库.

时间: 2024-08-28 21:12:54

通用静态库的生成,使用lipo将两个.a文件合并成一个的相关文章

[转] iOS开发之使用lipo命令制作模拟器与真机通用静态库

转自 http://blog.csdn.net/jinglijun/article/details/8276089 通常在项目中使用静态库的时候都会有两个版本,一个用于模拟器,一个用于真机,因为Mac和iPhone的CPU不同,才造成了这种情况. 为了模拟器与真机之间切换调试的方便,制作通用版本非常有必要. 现在有两个版本的静态库libSQLite_i386.a(模拟器)与libSQLite_arm.a(真机). 1.打开终端,进入到这两个文件所在的目录: 2.执行:lipo -create l

ios中静态库的创建和使用、制作通用静态库(Cocoa Touch Static Library)

创建静态库可能出于以下几个理由: 1.你想将工具类代码或者第三方插件快捷的分享给其他人而无需拷贝大量文件.2.你想让一些通用代码处于自己的掌控之下,以便于修复和升级.3.你想将库共享给其他人,但不想让他们看到你的源代码. Xcode6创建静态库详解(Cocoa Touch Static Library) 一.创建静态库文件 打开Xcode, 选择File ----> New ---> Project. 新建工程. 选择iOS ----> Framework & Library -

xcode 4 制作通用静态库

参考:http://blog.csdn.net/pjk1129/article/details/7255163 最近在做Apple的IOS开发,有开发静态库的需求,本身IOS的开发,只允许静态库或者Framework. 我这个文档的静态库的开发是基于Xcode4.2和iOS SDK5.0编写的.Xcode4跟之前的Xcode3还是有不少的差别的.下面就简单写一个静态库和一个调用静态库的例子.静态库的编写:1.静态库工程的建立: Xcode New一个新的project,选择IOS下面的Frame

QT中静态库的生成与使用

一. 静态库的生成    1. 测试目录: lib    2. 源码文件名: mywindow.h, mywindow.cpp, 类MyWindow继承于QPushButton, 并将文字设置为"I'm in class MyWindow";    3. 编写项目文件: mywindow.pro       注意两点:       TEMPLATE = lib       CONFIG   += staticlib    4. 生成Makefile:       qmake    5.

VS2008 动态库和静态库的生成和加载

第一:动态库和静态库的生成: 1) 新建一个生成dll工程: 文件->新建->项目->Win32->Win32控制台应用程序 输入项目名称:dllTest ,项目路径:D:\VC 确定 下一步 应用程序类型:选择DLL 完成 2) 编写代码: 2-1) 增加一个头文件:dllTest.h #define ICILIB_UTIL_API __declspec(dllexport)  //生成动态库时,同时在Debug或Release目录下生成.lib和.dll文件. class IC

malloc,colloc,realloc内存分配,动态库,静态库的生成与调用

 1.在main方法里面直接定义一个非常大的数组的时候,可能会出现栈溢出:错误代码演示: #include<stdio.h> #include<stdlib.h> void main() { int a[1024 * 1024]; int num = 100; system("pause"); } 错误截图: 2.在定义数组的时候要定义数组的长度,否则会出现错误.(特例:在GCC编译器下,不会出现错误(因为标准不一样)). 3.打印并且赋值的是: for (

makefile编写---.a静态库的生成和调用

#.SUFFIXES: .c .o Cc =gcc #OSA=/data/users/osa IncDir=-I. -I./ Debug = -g Cflags = -c $(DEBUG) Libs = -lpthread Lib_Dir=./#/data/users/osa/api/ #PKIOBJ=PKITool.o kdmd5.o Lib=alg.aPkiObj=alg.o .c.o: $(Cc) $(Cflags) $(IncDir) $*.c all: PKITool #clean P

linux静态库的生成与使用(转)

linux静态库的生成与使用(转) 库是一种软件组件技术,库里面封装了数据和函数. 库的使用可以使程序模块化. Windows系统包括静态链接库(.lib文件)和动态链接库(.dll文件). Linux通常把库文件存放在/usr/lib或/lib目录下. Linux库文件名由:前缀lib.库名和后缀3部分组成,其中动态链接库以.so最为后缀,静态链接库通常以.a作为后缀. 在程序中使用使用静态库和动态库时,他们载入的顺序是不同的. 静态库的代码在编译时就拷贝的应用程序中,这样的优点是节省编译时间

UNIX下C语言编程静态库的生成

1.设计库源码 pr1.c 1 void print1() 2 { 3 printf("This is the first lib src \n"); 4 } pr2.c 1 void print2() 2 { 3 printf("This is the second lib src \n"); 4 } 2.编绎.o文件 gcc -O -c pr1.c pr2.c 3.链接静态库 ar -rsv libpr.a pr1.o pr2.o