Windows环境下使用cygwin ndk_r9c编译x264
一、废话
最近学习,第一步就是编译.我们需要编译FFmpag,x264,fdk_aac,下面是x264,网上说的很多都是几百年前的,我亲测完美可用
还是那句话 我能力有限,但是我希望我写的东西能够让更多的人能够接受.我也是刚刚接触.做一个记录,也希望能够对其他人有好处.
联系我可以直接评论,也可以加我QQ:2519687025
二、干货
准备:1.x264的源码
2.cygwin下载,安装,这个网上基本都有.我不讲太多.git cygdrive bash make 这几个都需要下载
3.ndk我现在的版本r9c.最新的现在应该到r9d了.需要的去更新问题不大的.而且注意设置环境变量
我的设置如下: 因为下面的命令要用到,所以没设的就跟我设一样的就好,避免出现不必要的问题
ANDROID_NDK_ROOT E:\android-ndk-r9c\
名字一样就好,路径还是你自己的.
4.编译脚本.这个脚本自己去理解吧.我也是一知半解--脚本名称:Config.sh
EXTRA_OPTIONS=()
case $OS in
Android)
GNU_BUILD_OS=linux EXTRA_OPTIONS+=(
--extra-cflags=-DANDROID
--extra-cflags=-gdwarf-
) case $ARCH in
armeabi-v7a*)
GNU_BUILD_ARCH=armv7-a
CROSSCOMPILE_PREFIX=arm-linux-androideabi- TARGET_ARCH=arm EXTRA_OPTIONS+=(
--extra-cflags=-mfpu=vfpv3-d16
--extra-cflags=-mcpu=cortex-a9
) ;;
esac case $ARCH in
armeabi-v7a-hard)
APP_PLATFORM=android- EXTRA_OPTIONS+=(
--libm="-lm_hard"
--extra-cflags=-mhard-float
--extra-cflags=-D_NDK_MATH_NO_SOFTFP=
--extra-ldflags=-Wl,--no-warn-mismatch
)
;;
armeabi-v7a)
APP_PLATFORM=android-
;;
esac SYSROOT="${ANDROID_NDK_ROOT}/platforms/${APP_PLATFORM}/arch-${TARGET_ARCH}"
;;
Windows)
;;
Linux)
;;
esac ${X264_SOURCE_DIR}/configure \
--prefix=/ \
--sysroot="$SYSROOT" \
--cross-prefix="$CROSSCOMPILE_PREFIX" \
--host=$GNU_BUILD_ARCH-$GNU_BUILD_OS \
"${EXTRA_OPTIONS[@]}" \
--disable-opencl \
--enable-pic \
--bit-depth= \
--chroma-format= \
--disable-interlaced \
--enable-static \
--disable-lavf \
--disable-avs \
--disable-swscale \
三、编译
1.export符号链接 --非常重要
export CYGWIN="winsymlinks:nativestrict"
.cygwin的环境:
ANDROID_NDK_ROOT=$(cygpath -u "$ANDROID_NDK_ROOT")
ANDROID_ARM_TOOLCHAIN_ROOT=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.8/prebuilt/windows/
ANDROID_X86_TOOLCHAIN_ROOT=$ANDROID_NDK_ROOT/toolchains/x86-4.8/prebuilt/windows
export PATH=$PATH:$ANDROID_ARM_TOOLCHAIN_ROOT/bin:$ANDROID_X86_TOOLCHAIN_ROOT/bin
.执行一下命令,编译脚本
TMP=$(cygpath -m "$TMP") \
ARCH=armeabi-v7a \
OS=Android \
ANDROID_NDK_ROOT=$(cygpath -m "$ANDROID_NDK_ROOT") \
X264_SOURCE_DIR=/cygdrive/e/soft/source/x264/x264 \
/cygdrive/e/qupai_code_eclipse/code/ThirdParty/Build/x264/Config.sh
.执行make命令 这里使用的是NDK的make,而不是cygwin的make
"$ANDROID_NDK_ROOT/prebuilt/windows/bin/make" -j8
注意,里面有些是我自己的脚本的路径,需要自己去替换一下.如:
X264_SOURCE_DIR=/cygdrive/e/soft/source/x264/x264 \ --------这是源码地址
/cygdrive/e/qupai_code_eclipse/code/ThirdParty/Build/x264/Config.sh ------这是脚本地址
Windows环境下使用cygwin ndk_r9c编译x264的更多相关文章
- Windows环境下使用cygwin ndk_r9c编译FFmpeg
一.废话 最近学习,第一步就是编译.我们需要编译FFmpag,x264,fdk_aac,一步步来.先来讲一下FFmpeg,网上说的很多都是几百年前的,我亲测完美可用 联系我可以直接评论,也可以加我Q ...
- Windows环境下的RTKPlot_Qt版本编译时遇到的问题和解决方法
在使用了 RTKLIB开源包自带的 rtkplot.exe后,知道了它所具有的功能,就想着如何模仿它做出一个 demo.一开始看的是之前下载的 2.4.2版本的 RTKLIB,里面是使用 Delphi ...
- Windows环境下使用Cmake ndk编译fdk-aac
一.废话 最近学习,第一步就是编译.我们需要编译FFmpag,x264,fdk_aac,下面是x264,网上说的很多都是几百年前的,我亲测完美可用 还是那句话 我能力有限,但是我希望我写的东西能够让 ...
- Windows环境下使用VS2005编译OpenSSL
如何Windows环境下,使用VS2005编译OpenSSL,虽然这个问题在Baidu.Google上一堆,但安装中还是遇到些问题,在这里 记录下来希望能帮助大家不要在走弯路.注:我是在WinXP S ...
- freeSSHD在windows环境下搭建SFTP服务器
freeSSHD在windows环境下搭建SFTP服务器 0 建议现在windows环境下安装cygwin,否则在windows环境下cmd模式使用不了sftp去连接,可以利用win scp去测试连接 ...
- 编译实战 | 手摸手教你在Windows环境下运行Redis6.x
原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 哈喽大家好啊,我是没事就愿意瞎捣鼓的Hydra. 不知道有没有小伙伴像我一样,平常开发中用的是windows操作系统,有时候想装点什么软件,一看 ...
- Openstack 二次开发之:在windows 环境下编译Openstack-java-sdk
在windows环境下使用maven对openstack-java-sdk进行编译 编译源文件 下载源代码 git clonehttps://github.com/woorea/openstack-j ...
- windows环境下protobuf的java操作{编译,序列化,反序列化}
google protocol buffer的使用和原理 概况: Protocol Buffers(也就是protobuf)是谷歌的语言中立的.平台中立的.可扩展的用于序列化结构化的数据: windo ...
- 【转】Windows环境下Android NDK环境搭建
原文网址:http://www.metsky.com/archives/525.html 前面介绍Windows下Android 开发环境配置,主要是面向JAVA开发环境,对只做APK上层应用开发人员 ...
随机推荐
- div居中鼠标悬浮显示下拉列表
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 【转】ios中@class和 #import 的使用时机
代码中会发现有部分#import操作写在m文件中,而h文件仅仅使用@class进行声明,为什么不直接把#import放到h文件中呢? 这是因为h文件在修改后,所有import该h文件的所有文件必须重 ...
- Android Loader详解一:概述
装载器从android3.0开始引进.它使得在activity或fragment中异步加载数据变得简单.装载器具有如下特性: 它们对每个Activity和Fragment都有效. 他们提供了异步加载数 ...
- 【转】修改eclipse中的M2_REPO变量
转自:http://superseven.iteye.com/blog/1625429 从eclipse中增加了maven2的插件之后,maven默认的本地库的路径是${user}/.m2/repos ...
- HDU- Who Gets the Most Candies?
Who Gets the Most Candies? Time Limit : 10000/5000ms (Java/Other) Memory Limit : 262144/131072K (J ...
- CPLEX IDE 菜单栏语言设置( 中文 英文 韩文 等多国语言 设置)
http://www-01.ibm.com/support/docview.wss?uid=swg21573032 Technote (FAQ) Question How to change the ...
- 【原】现有市场上H264 IPCamerad的功能
网络: 1.内置Web Server,通过IE实现远程监看.控制.设置等操作: 2.支持UPnP路由器,自动配置端口映射: 3.支持DDNS(动态域名解析).PPPoE拨号.DHCP网络协议: 4.支 ...
- Spring框架整合Struts2
1,用Spring架构,及Struts2-spring-plugin插件 导入Spring的dist全部所需的jar包 Struts2的spring插件 struts2-spring-plugin.X ...
- HOWTO: Setup XCode 6.1 to work with OpenCV3 libraries
HOWTO: Setup XCode 6.1 to work with OpenCV3 libraries Overview This post demonstrates how to setup y ...
- SQL GROUP BY GROUPING SETS,ROLLUP,CUBE(需求举例)
实现按照不同级别分组统计 关于GROUP BY 中的GROUPING SETS,ROLLUP,CUBE 从需求的角度理解会更加容易些. 需求举例: 假如一所学校只有两个系, 每个系有两个专业, 每个专 ...