cygwin编译ffmpeg移植到android平台问题集锦
编译环境:
windows xp
Cygwin 1.1.3.1
NDK r9
1.提示各种command not found
比如
./config.sh: line 6: $'--arch=arm\r': command not found
可以看到arm后面有个'\r' unix文件换行和win下面不一样 需要用ultraedit 文件-转换-dos转unix
2.临时目录问题,各种提示.....temp\No such file or directory
更改ffmpeg自带的configure文件
# set temporary file name
: ${TMPDIR:=$TEMPDIR}
: ${TMPDIR:=$TMP}
: ${TMPDIR:=tmp}改为
# set temporary file name
: ${TMPDIR:=$TEMPDIR}
: ${TMPDIR:=$TMP}
: ${TMPDIR:=D:/cygwin/tmp}
cygwin:bash
$export TMPDIR=D:/cygwin/tmp
都要确保D:/cygwin/tmp路径存在
3.GCC找不到文件的问题
arm-linux-androideabi-gcc.exe: ../crtbegin_static.o: No such file or directory
arm-linux-androideabi-gcc.exe: ../crtend_android.o: No such file or directory
路径错误。全部写成绝对路径。我的config.sh如下:
#!/bin/bash
PREBUILT=D:/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/windows
PLATFORM=android-8
ARCH=--arch=arm
./configure \
${ARCH} \
--target-os=linux --enable-cross-compile --cross-prefix=${PREBUILT}/bin/arm-linux-androideabi- \
--extra-cflags=" -fPIC -DANDROID -std=c99 " \
--enable-version3 \
--enable-gpl \
--enable-nonfree \
--disable-stripping \
--disable-ffmpeg\
--disable-ffplay\
--disable-ffserver\
--disable-ffprobe \
--disable-encoders \
--disable-muxers \
--disable-devices \
--disable-protocols \
--enable-protocol=file \
--enable-avfilter \
--disable-network \
--disable-avdevice \
--disable-asm \
--enable-neon \
--enable-armv5te \
--sysinclude=D:/android-ndk-r9/platforms/${PLATFORM}/arch-arm/usr/include \
--extra-ldflags="-Wl,-rpath-link=D:/android-ndk-r9/platforms/${PLATFORM}/arch-arm/usr/lib -LD:/android-ndk-r9/platforms/${PLATFORM}/arch-arm/usr/lib -nostdlib D:/android-ndk-r9/platforms/${PLATFORM}/arch-arm/usr/lib/crtbegin_static.o D:/android-ndk-r9/platforms/${PLATFORM}/arch-arm/usr/lib/crtend_android.o -lc -lm -ldl"
4.编译完成,libffmpeg.so只有5K的问题
下班了,明天再弄了
cygwin编译ffmpeg移植到android平台问题集锦的更多相关文章
- 将 FFmpeg 移植到 Android平台 (完整版)
首先需要去FFmpeg的官网http://www.ffmpeg.org/去下载FFmpeg的源码,目前的版本号为FFmpeg3.3(Hilbert). 下载的文件为压缩包,解压后得到ffmpeg-3. ...
- FFmpeg 学习(三):将 FFmpeg 移植到 Android平台
首先需要去FFmpeg的官网http://www.ffmpeg.org/去下载FFmpeg的源码,目前的版本号为FFmpeg3.3(Hilbert). 下载的文件为压缩包,解压后得到ffmpeg-3. ...
- Windows下将ImageMagick移植到Android平台
Windows下将ImageMagick移植到Android平台 原文链接 http://www.pedant.cn/2014/06/18/imagemagick-ported-android/ I ...
- 基于Cocos2d-x-1.0.1的飞机大战游戏迁移到Cocos2d-x-3.0版本,并移植到Android平台成功运行
一.版本迁移中的问题 1.游戏元素Sprite.Label.Action等等的创建函数名都改为create. 2.函数的回调callfunc_selectorcallfuncN_selectorcal ...
- J2ME项目移植到Android平台六大注意事项
很多J2ME项目如何移植到Android平台呢?Java虽然号称是跨平台应用但是目前的移植问题还是比较严重的,不知道未来Sun推出JavaFx或F3时会出现什么问题,如何从J2ME移植到Android ...
- ffmpeg 移植到 android 并使用
同步更新至个人blog:http://dxjia.cn/2015/07/ffmpeg-porting-to-android/ 空闲做了个小应用,从视频里截图,然后再将截图拼接为一个gif动画: 起初使 ...
- Unity3D之移植学习笔记:移植到Android平台更好的方法
接上文,之前我们采用了直接将Unity项目导出为Eclipse项目来修改的方式,这种做法存在的一个最大的问题就是:每当Unity被修改之后,都需要重新导出,而每次导出的项目在Android平台方面的J ...
- 将EasyRTMP_RTSP移植到Android平台实现的RTSP拉流转推RTMP直播流功能
本文转自EasyDarwin开源团队成员Kim的博客:http://blog.csdn.net/jinlong0603/article/details/73253044 前言 安防互联网化的需求已经越 ...
- Unity3D之移植学习笔记:移植到Android平台
首先,我们需要一台已经配置好可以开发Android应用的计算机,这里我使用的是Windows系统+Eclipse+ADT的开发环境,当然也可以使用Android Studio或者使用Mac系统都可以. ...
随机推荐
- Redis教程02——管道(Pipelining)
请求/响应协议和RTT Redis是一个使用客户端/服务器模型(也被称作请求/响应协议)的TCP服务器. 这说明通常来讲一个一个请求的实现有以下步骤: 客户端发送请求到服务器,并从socket中以堵塞 ...
- cf493A
Description Vasya has started watching football games. He has learned that for some fouls the player ...
- 回某位朋友问题备受phpcgi.exe煎熬现在cpu跑满(解决方案)
(本文原创,但是cgi参数参考一个大神写的针对小服务器的,希望大家积极投票哦) 下面是对php-cgi.ext过多引起服务器cup%的解决方法,希望对大家有帮助;大多数情况是发生在第四项上; 解决 ...
- kindeditor限制html长度的问题
<html> <head> <script charset="utf-8" src="/kindeditor/kindeditor_min. ...
- 几个 PHP 的“魔术常量”
PHP 向它运行的任何脚本提供了大量的预定义常量.不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了. 有八个魔术常量它们的值随着它们在 ...
- (C#)与Windows用户账户信息的获取
Console.WriteLine(Environment.UserName); //计算机NetBIOS名称 Console.WriteLine(Environment.MachineName); ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(37)-文章发布系统④-百万级数据和千万级数据简单测试
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(37)-文章发布系统④-百万级数据和千万级数据简单测试 系列目录 我想测试EF在一百万条数据下的显示时间! ...
- 淘宝分布式数据层:TDDL[转]
淘宝根据自己的业务特点开发了TDDL(Taobao Distributed Data Layer 外号:头都大了 ©_Ob)框架,主要解决了分库分表对应用的透明化以及异构数据库之间的数据复制,它是一个 ...
- ExtractFileDir 与 ExtractFilePath 的差别
ExtractFileDir 与 ExtractFilePath 的差别 ExtractFileDir 从文件名称中获取文件夹名(文件不在根文件夹下时取得的值后没有"/",在根文件 ...
- 【nodejs】创建udp套接字的类型参数的含义
nodejs在创建udp套接字的时候,需要传入一个类型参数.有两种类型参数可供选择:udp4和udp6.udp4对应的就是ipv4,udp6对应的是ipv6.