xcode4的workspace里各lib工程与app工程联编之runscript简介
copy from:http://www.cnblogs.com/xiaouisme/archive/2012/02/06/2339470.html
本文讲解怎么在xcode4的workspace里配置工程联编,但这里并非惟一方法。
创建workspace,添加一个IOS的lib工程叫做libA,再添加一个IOS的lib工程叫做libB,再添加一个app工程叫做appC.
场景:appC工程需要用到libA和libB工程生成的libs。
两lib工程都一样配置,这里以libA为例:
1.设置lib的public headers.
2.选中libA工程的target,在Build Settings里设Installation Directory为$(BUILT_PRODUCTS_DIR)
配置appC工程:
首先是让appC链接各lib:
1.选中appC工程的target-appC ,在Build Phases的Link Binary With Libraries里添加liblibA.a和liblibB.a
然后是让appC看得到各lib的公共头文件:
1.选中appC工程,在下方点开Add Target: IOS,Other,Aggregate. 这个target命名为runScript.
2.选中appC工程的target-runScript,在Build Phases的下面点开Add Build Phase/Add Run Script
输入脚本如下:
rm -rf ${PROJECT_DIR}/${PROJECT_NAME}/LibsHeaders/
mkdir ${PROJECT_DIR}/${PROJECT_NAME}/LibsHeaders/
cd ${BUILT_PRODUCTS_DIR}
find . -name "*.h" -exec cp '{}' ${PROJECT_DIR}/${PROJECT_NAME}/LibsHeaders/ \; #copy all the lib's public header files.
3. 选中appC工程的target-appC ,
在Build Phases的Target Dependencies里添加target-runScript。
在Build Settings里设Always Search User Paths为YES,设User Header Search Paths为${PROJECT_DIR}/${PROJECT_NAME}/LibsHeaders/
(也就是上面脚本拷头文件的目标目录)
end
xcode4的workspace里各lib工程与app工程联编之runscript简介的更多相关文章
- xcode4的环境变量,Build Settings参数,workspace及联编设置
转自:http://www.cnblogs.com/lancidie/archive/2013/04/08/3007566.html 一.xcode4中的环境变量 $(BUILT_PRODUCTS_D ...
- eclipse里将java工程改web工程
转自:http://blog.csdn.net/heirenheiren/article/details/8488245 把一个普通的eclipse项目转成web项目 1. 编辑工程的.projec ...
- 对于一个web工程,如果我们复制一个已有的工程粘贴到同一个workspace下,我们除了需要更改工程的名字还需要更改这个新工程的content root,否则会报错。
对于一个web工程,如果我们复制一个已有的工程粘贴到同一个workspace下,我们除了需要更改工程的名字还需要更改这个新工程的content root,否则会报错.步骤如下: 右键新的工程---&g ...
- xcode 环境,多工程联编设置【转】
http://blog.csdn.net/vienna_zj/article/details/8467522 一.xcode4中的环境变量 $(BUILT_PRODUCTS_DIR) build成功后 ...
- 关于eclipse导工程或移植工程常碰到的错误汇总
在开发过程中,eclipse是使用得最多的IDE,但由于其开源且免费的性质决定了其不然有很多的BUG,在项目很赶的时期碰到某些很恶的错误很浪费时间,也很让人郁闷,现我总结一下我碰到的错误并总结下对 ...
- 多工程联编,cocopods的使用
最近在使用coco2d-x, 想要使用 cocopods,发现我的目录结构如下图 发现我有三个工程文件, 那么 就需要多工程联编使用cocopods, workspace 'xcworkspace' ...
- 使用Pods和自定义静态库实现多工程联编
使用Pods和自定义静态库实现多工程联编 字数607 阅读112 评论0 喜欢0 近来随着公司项目开发的深入,项目的规范也就越来越高了,为了更加方便的管理自定义静态库与pods之间的联系,好好的研究了 ...
- 多工程联编的Pods如何设置
多工程联编的Pods如何设置 (2014-07-17 13:57:10) 转载▼ 标签: 联编 多工程 分类: iOS开发 如今,CocoaPods使用越来越多,几乎每个项目都会使用到.有时候我们的项 ...
- 如何实现在H5里调起高德地图APP?(上)
这一篇文章,将讲述如何在H5里调起高德地图APP,并展示兴趣点.适合于展示某个餐馆,商场等,让用户自行选择前往方式. 场景一.在高德地图上展示Marker点或者POI标记 在一些基于位置分享的应用开发 ...
随机推荐
- 万能的everything彻底解决mysql问题
万能的everthing D:\RECYCLER\S-1-5-21-1214440339-1123561945-1801674531-500\Dd16.0\my.ini可能之前的电脑的隐藏文件没有删除 ...
- <input value="hidden">的作用
这样子上个页面的参数可以保存在这个页面,为下个页面获取参数做准备,在这个页面表单提交的时候下个页面可以获取参数
- HTML5 WebAudioAPI简介(一)
一.常用对象 1.AudioContext对象 AudioContext是一个专门用于音频处理的接口,并且原理是讲AudioContext创建出来的各种节点(AudioNode)相互连接,音频数据流经 ...
- AndroidManifest.xml--android系统权限定义
1. 系统编译结束自动生成的java类,描述系统所有定义的权限 out/target/common/R/android/Manifest.java 2. 权限检查方法 frameworks/base/ ...
- Android布局管理器(表格布局)
表格布局有TableLayout所代表,TableLayout继承了LinearLayout,因此他的本质依然是LinearLayout. 表格布局采用行.列的形式来进行管理,在使用的时候不需要声明多 ...
- Sqoop import加载HBase案例详解
简单写一下如何将订单表sqoop到hbase表中的步骤. 下表: 1.通过hbase shell 打开hbase. 2.创建一个hbase表 create 'so','o' 3.将so表的数据导入到h ...
- c++primerplus(第六版)编程题——第6章(分支语句和逻辑运算符)
声明:作者为了调试方便,每一章的程序写在一个工程文件中,每一道编程练习题新建一个独立文件,在主函数中调用,我建议同我一样的初学者可以采用这种方式,调试起来会比较方便. (具体方式参见第3章模板) 1. ...
- clipboard.js IE下 不允许复制时, 问题修改
问题描述:https://github.com/zenorocha/clipboard.js/wiki/Known-IssuesOn IE9-11 there's a prompt that asks ...
- 用VS2005写一个 C 的类库和用 C#来调用的示例
一.用VS2005写一个 C 的类库的步骤: (1).建立一个空的Visual C++项目 (2).这时候在项目中可以看见 三个空目录 选中 "源文件" 目录,然后点鼠标右键,在弹 ...
- C# 跨线程访问控件
this.BeginInvoke(new Action(() => { this.StatusProgressBar_ExecutingTaskStatus.Value = (int)value ...