Xcode含静态库多项目依赖编译

1.新建 Static Library 项目

选择 File -> New -> Project , 项目模板选择 Cocoa Touch Static Library , 项目名称命名为
MyLib.xcodeproj , 注意选中 Use Automatic Reference Counting 。

Xcode 会在项目中自动生成 MyLib.h 和 MyLib.m 文件, 单击 MyLib.h 文件, 添加下面的方法定义:

+ (NSString*)getMyTag;

再打开 MyLib.m 文件, 添加刚刚定义两个文件的实现:

+ (NSString*)getMyTag{

return @"MyLib";

}

MyLib 项目, 在中间的编辑器窗口中选择项目的 Target , 选择 Build Phases 标签, 展开 Copy Headers
分组, 下面有三个子分组, 分别是 Public 、 Project 与 Private , 将 MyLib.h 拖拽到 Public
分组即可。

保存所有文件, 选择 Product -> Build , 进行编译, 生成 libMyLib.a 文件, 同时也会自动将
MyLib.h
文件复制到输出目录(workspace下的Build-Products文件夹)。

2

使用静态类库项目

选择 File -> New -> Project , 项目模板选择 iOS -> Application -> Single
View Application , 项目名称命名为 MyApp , 注意勾选 Use Storyboards 和 Use Automatic
Reference Counting 。

将 MyLib 项目拖拽到 MyApp 项目的 Frameworks 文件夹, 在弹出的对话框中选择 Create groups for any
added folders , 然后点击 Finish 按钮。

选择targets下得Build Phases,将自己新建的库添加到里面

点击下面的加号按钮, 将工作区的 libMyLib.a 添加进去。

接下来添加头文件搜索目录, 选中 Targets 上面的 Project , 选择 Build Settings 标签页,在搜索框内输入
header search 进行过滤, 找到 Header Search Paths , 添加一行, 输入 ../MyLib ,
并选中递归复选框,就是后面的non-recursive更改为recursive。

验证一下对 MyLib 的引用是否正确, 打开 MyApp 项目的 ViewController.m , 添加对 MyLib.h 的引用,
如下图所示, 并编译 MyApp , 如果编译成功, 则表示引用正确。

时间: 2025-01-13 23:27:44

Xcode含静态库多项目依赖编译的相关文章

转载《Xcode 创建静态库和动态库》

Xcode 创建静态库和动态库 地址链接   http://www.cocoachina.com/ios/20150921/13385.html 1.linux中静态库和动态库区别: 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态库和动态库两种. 静态库:这类库的名字一般是libxxx.a:利用静态函数库编译成的文件比较大,因为整个函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进去

Xcode添加静态库以及编译选项配置常见问题

一,Xcode编译出现Link错误,出现"duplicate symbols for architecture i386 clang"提示.问题:链接时,项目有重名文件.解决:根据错误提示,做如下检查:1.Taraget->Build Settings->Link Binary With Libraries检查是否有重复lib.2.全工程搜索下重名文件,决定如何删除. 二,关于Category位于静态库时,引用该静态库的工程使用Category,出现"unreco

xcode 制作静态库.a文件 详解

http://blog.csdn.net/kepoon/article/details/21516977 最近在做Apple的IOS开发,有开发静态库的需求,本身IOS的开发,只允许静态库或者Framework.在Xcode上没有找到允许编译,如同Android上的*.so和Win32上的dll这样的说法.不过Framework这样的框架,估计也是类似动态库的实现,不过没有具体研究过,后续继续深入研究. 我这个文档的静态库的开发是基于Xcode4.2和iOS SDK5.0编写的.Xcode4跟之

xcode 制作静态库文件(.a)

参考: http://www.jb51.net/article/37853.htm 摘要: 1. 获取.a文件的信息              lipo -info /Users/pjk1129/Desktop/libPrint.a 2. 整合模拟器与设备文件           lipo -create /Users/pjk1129/Library/Developer/Xcode/DerivedData/Print-dgfkluumuexoxhcapzidtsmdgqcj/Build/Prod

xcode 打静态库.a文件

原文地址:http://blog.csdn.net/pjk1129/article/details/7255163 核心命令:lipo -info 地址.查看支持的类型,如armv7 lipo -create 第一包地址 第二个包地址 -output 输出文件地址

Mac下编译libpomelo静态库,并在cocos2dx项目中引用

最近在学习cocos2dx的过程中需要和服务器进行交互,所以这几天在学习libpomelo静态库的编译和使用.之前在windows系统下编译libpomelo,并在VS中引入比较顺利:但是,目前对Mac系统和XCode不是很熟悉,所以多花了些时间.不过,最终还是成功了,在这里就将我编译引入libpomelo静态库的过程记录下来,也分享给和我一样遇到问题的朋友们. 准备工作 libpomelo下载地址:https://github.com/NetEase/libpomelo或者http://pan

VS编译linux项目生成静态库并在另一个项目中静态链接的方法

VS2017也推出很久了,在单位的时候写linux的服务端程序只能用vim,这让用惯了IDE的我很难受. 加上想自己撸一套linux上的轮子,决定用VS开工远程编写调试linux程序. 在windows下编写静态库并在另一个项目中引用很简单 新建项目的时候选择静态库,进去把代码撸好,即可编译出静态库*.lib 随后在希望使用该静态库的项目中设置一下链接器"附加库目录"为"../Debug"(和你的输出路径有关),然后添加"附加依赖项"静态库名.l

用workspace管理工程,并解决多静态库依赖

最近我在项目中遇到一些工程之间的管理问题. 模型: 其中 库A 是一个公共的基础静态库, M_A依赖A, N_A依赖A, 而项目工程Test依赖A,M_A,N_A这三个库. 用workspace管理项目和依赖的库 Test,A库,M_A库,N_A库分别为4个Project,并被一个workspace进行管理,看截图: 按照常规,我们会在M_A, N_A静态库项目的Build Phases->Link Binary With Libraries中添加A.framework.在Test项目的相同位置

Xcode 创建.a和framework静态库(转)

最近因为项目中的聊天SDK,需要封装成静态库,所以实践了一下创建静态库的步骤,做下记录. 库介绍 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态库和动态库两种.iOS中的静态库有 .a 和 .framework两种形式:动态库有.dylib 和 .framework 形式,后来.dylib动态库又被苹果替换成.tbd的形式. 静态库与动态库的区别 静态库和动态库是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程序运行时将不再需要改静态库:而动态库在程序