ffempge 效率 生成_ffmpeg 编译静态库,搞了好久,终于搞成功了.根据网上教程做的 · iodefog...
https://iodefog.github.io/https://iodefog.github.io/https://iodefog.github.io/https://iodefog.github.io/
1.首先,先有ffmpeg,然后需要另外的一个文件,gas-preprocessor.pl 所有的一切具备之后,下面让我们开始编译。
2.然后我在ffmpeg里建了一个文件夹,命名为armv7,这个自己标记,记的是啥意思就行
3../configure –prefix=/Users/zhangdongqiankun/Downloads/kolyvan-kxmovie-2c5324b/kxmovie/ffmpeg-iphone-build/armv7 –disable-ffmpeg –disable-ffplay –disable-ffserver –enable-dxva2 –enable-vda –enable-vdpau –disable-debug –enable-cross-compile –enable-gpl –enable-pic –disable-asm –sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk –target-os=darwin –arch=armv7 –cpu=cortex-a8 –extra-cflags=’-arch armv7’ –extra-ldflags=’-arch armv7’ –cc=/Applications/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang –extra-ldflags=-L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/usr/lib/system
解释,1).把刚才建立的文件路径直接赋值给–prefix,这个编译后的文件就会保存到上面建立的文件里
2).iPhoneOS7.1版本,是电脑里iOS的版本,我电脑里有两个6.1和7.1,这里用的7.1,回头再试6.1的
3).可以看到configure 里 –arch=armv7 ,这个生成的armv7 是iPhone5等试用的版本,模拟器用i386,iphone 5s 用armv7s,一会全部生成,合并一下
在网上找了很多,用–prefix直接给路径成功了,别的一直就配置失败
4.输入上面这句回车,成功后会出现类似:
License: LGPL version 2.1 or later
Creating config.mak and config.h…
libavutil/avconfig.h is unchanged
WARNING: pkg-config not found, library detection may fail.
localhost:ffmpeg apple$
5.然后输入 sudo make,这个编译时间有点长,编译完成会出现下面界面,这个界面一直就这样,网上查了,大家说到达 STRIPffprobe就是成功了,所以继续下一步,我是新建了一个shell跑下面的代码
6.继续输入代码 sudo make install,这个执行很短,生成静态库,我是好几个代码都没走这个,一直纠结为啥没出来静态库,掉坑里了。。。
7,然后直接去刚才建的文件里查看生成的静态库,
看!成功了。^_^
8.继续整armv7s的静态库 ,
执行
make clean 命令就可以了。 接下来你可以照此方法编译armv7,跟armv7s框架下的。
建立armv7s目录,其他步骤同上
./configure –prefix=/Users/zhangdongqiankun/Downloads/kolyvan-kxmovie-2c5324b/kxmovie/ffmpeg-iphone-build/armv7s –disable-ffmpeg –disable-ffplay –disable-ffserver –enable-dxva2 –enable-vda –enable-vdpau –disable-debug –enable-cross-compile –enable-gpl –enable-pic –disable-asm –sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk –target-os=darwin –arch=armv7s
–cpu=cortex-a8 –extra-cflags=’-arch armv7s’ –extra-ldflags=’-arch armv7s’ –cc=/Applications/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang –extra-ldflags=-L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/usr/lib/system
9.
继续整i386的静态库 ,
执行 make clean 命令就可以了。 接下来你可以照此方法编译i386,跟i386框架下的。
建立i386目录,其他步骤同上
./configure –prefix=/Users/zhangdongqiankun/Downloads/kolyvan-kxmovie-2c5324b/kxmovie/ffmpeg-iphone-build/i386 –disable-ffmpeg –disable-ffplay –disable-ffserver –enable-dxva2 –enable-vda –enable-vdpau –disable-debug –enable-cross-compile –enable-gpl –enable-pic –disable-asm –sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk –target-os=darwin –arch=i386 –cpu=cortex-a8 –extra-cflags=’-arch i386’ –extra-ldflags=’-arch i386’ –cc=/Applications/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang –extra-ldflags=-L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/usr/lib/system
我这边没好使,还没解决
问题如下:
这个继续研究
10.运行lipo方法,合并静态库
lipo -create lib/i386/libavcodec.a lib/arm7/libavcodec.a lib/arm7s/libavcodec.a -output lib/libavcodec.a
lipo -create lib/i386/libavformat.a lib/arm7/libavformat.a lib/arm7s/libavformat.a -output lib/libavformat.a
lipo -create lib/i386/libavdevice.a lib/arm7/libavdevice.a lib/arm7s/libavdevice.a -output lib/libavdevice.a
lipo -create lib/i386/libavutil.a lib/arm7/libavutil.a lib/arm7s/libavutil.a -output lib/libavutil.a
lipo -create lib/i386/libswscale.a lib/arm7/libswscale.a lib/arm7s/libswscale.a -output lib/libswscale.a
这样就可以放到项目用了
ffempge 效率 生成_ffmpeg 编译静态库,搞了好久,终于搞成功了.根据网上教程做的 · iodefog...相关推荐
- EFI系统分区必须挂载到/boot/efi其中之一如下的错误搞了好久终于搞定了!
failed to find a suitable stage1 device:sdb1 必须拥有以下磁盘标签类型之一:gpt EFI系统分区的类型不能为ntfs.:EFI系统分区必须挂载到/boo ...
- Makefile、多Makefile编译静态库、动态库、SRC实例总结
静态库生成及使用 calc.h #ifndef __MY_LIB_H__ #define __MY_LIB_H__ int add(int a, int b); #endif calc.c #incl ...
- linux c 如何编译静态库,Linux C 编程入门之一:gcc 编译动态库和静态库
主调用程序源代码3-1:main.c /** * main.c */ #include #include #include "hello_fn.h" int main () { h ...
- Android NDK生成及连接静态库与动态库
对于Android应用开发,大部分情况下我们使用Java就能完整地实现一个应用.但是在某些情况下,我们需要借助C/C++来写JNI本地代码.比如,在使用跨平台的第三方库的时候:为了提升密集计算性能的时 ...
- GCC编译静态库的-fPIC选项
GCC编译静态库的-fPIC选项 背景 通常在linux下用gcc编译动态库时都会加上一个-fPIC选项来生成位置无关代码,但是从来没有人明确的说过是不是要在编译静态库时也加上-fPIC选项.我在这篇 ...
- CMake I 编译静态库、动态库和对象库
目录 一.源文件 1.Message.h 2.Message.cpp 3.helloworld.cpp 二.CMakeLists.txt 1.源文件 2.CMake语言说明 (1)cmake_mini ...
- linux ndk编译静态库,Android开发教程:NDK编译静态库失败
Android---NDK编译静态库失败 Android.mk 相关编译文件: include $(CLEAR_VARS) LOCAL_MODULE := libdvnca LOCAL_SRC_ ...
- Makefile学习笔记07|编译静态库并通过ifeq语句
Makefile学习笔记07|编译静态库并通过ifeq语句 希望看到这篇文章的朋友能在评论区留下宝贵的建议来让我们共同成长,谢谢. 这里是目录 本篇与上一篇有较多联系,有兴趣的可以先看上一 ...
- 关于 J2Objc 编译静态库的一些问题记录
关于 J2Objc 编译静态库的一些问题记录 J2Objc是谷歌的一个开源工具,主要用来把 java 代码转成 OC 代码供 iOS 或 Mac 调用,现在应该用的人比较少,因为公司一些老代码是用 J ...
最新文章
- 重学ES6 函数的扩展(下)
- PostgreSQL流复制之二:pgpool-II实现PostgreSQL数据库集群(转发+整理)
- Key usage extensions and extended key usage
- Windows下 VS2015编译boost1.62
- C语言麻将递归,C++数据结构与算法——麻将胡牌算法(二:完全胡牌算法)
- 安卓 控件靠右对齐_LinearLayout中组件右对齐
- 为何能力越强越不被重用?不懂这3点,你到哪里都混不好,不服不行
- 威联通 php配置,威联通(qnap) NAS docker 安装 IYUU 步骤
- 计嵌 廖峻 20178303040 C++作业
- formal Verification 形式验证 形式验证的最大障碍:误报(false positives)的危险 第9章
- 苹果手机备份有必要吗_旧手机里的便签能备份到新手机里吗?
- 算法设计与分析第四章作业
- 如何做好python自动化运维,python在运维中的应用
- 电路方案分析(二)BLDC驱动和控制电路原理图分析
- win10笔记本外接屏幕不清晰的解决方法
- MD5简介及其算法源码
- 【RDMA】RoCEv2 帧结构|RoCE和RRoCE|Soft-RoCE
- 也谈内容引擎,内容如何为王?
- 怎么在电脑上用手机模拟器+618IP代理换不同的IP多开游戏
- C语言实现的密码输入功能