标题
xcode 静态库制作说明[含依赖子项目子工程使用方法]
clq
浏览(492) +
2021-07-09 14:01:16 发表
编辑
关键字:
[2021-11-11 08:35:28 最后更新]
xcode 静态库制作说明[含依赖子项目子工程使用方法]
1.先在源码树中选择项目(基本上就是树的第一个节点)。
2.在主菜单 "Editor" -> "Add Target..." 点击。就可以选择增加一个静态库(或者是别的什么了)。
另外要注意的是,先跟不同的源码对象,"Editor" 下的菜单是不同的。
3.可将项目作为其他项目的依赖一起编译。这里面操作比较复杂,有好几个技巧。
参考 https://blog.csdn.net/jjjjjj123321/article/details/78082907
项目中加入子项目后要引用子项目中的函数,似乎只能是先在子项目中加新一个静态库。
然后将这个静态库生成的源码目录树中的 Products 中的 .a 文件拖放到项目的编译属性
"Build Phases" -> “link binary with libraries” 的列表中去。要注意的是这个属性不是项目的,
而是项目下的 Products 下的。
4.在步骤 2 中生成的静态库并不会将原项目中的代码直接引入,而是新增加了一对 .h.m 源码文件,以 及一个新的文件夹。
这时候也不用复制原来的源码到新目录下,只要先跟所有的 .c 文件,然后在最右边的 "属性" 窗口中的 "Target Membership" 中勾选上新增加的静态库就可以了。
注意,只能是选择 .c 这样的源文件, .h 这样的头文件是不支持,也不需要这样操作的。
5.新生成的静态库和各个文件夹都是可以安全的重命名的。有些是在目录树中点击出现编辑框后即可修改。
有些是在主菜单 "Product" -> "Scheme" -> "Manager Schemes" 中修改。也是先选中后再点击,
出现编辑框后进行修改。
6.题外话。对于 ffmpeg 项目,居然有些 .c 文件是作为模板会多次引入的,这些 .c 文件是不能加入到项目中的。
否则会编译错误。比如 rgb2rgb_template.c 。可以从项目中删除,也可以在右边属性中不让其加入项目编译就可以了。
7.另参考:https://blog.csdn.net/iteye_661/article/details/82366638
当我们把FFmpeg(0.11.1)项目完整编译出来后,会有7个库文件,根据so依赖关系排行.
1.libavdevice 和多媒体设备交互的类库,例如 获取DirectShow设备数据(摄像头,录屏) 。所以应该不是必须的。
2.libavfilter 滤镜(filter)功能
3.libavformat 容器,也就是文件的格式,装载着流
4.libavcodec 编码,解码器,针对某一流
5.libswscale
6.libswresample
7.libavutil 一般工具类,以上的组件都要依赖它
音视频编解码都在libavcodec目录,文件合成分离都在libavformat目录。
./libavcodec/flvdec.c是FLV视频解码器
./libavformat/flvdec.c就是FLV文件分离器(parser,demuxer,splitter)
NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.