在编译android平台用的ffmpeg时,抛出这样一个错误:

这句代码怎么看都找出有毛病,为什么B0会报错? 翻看aaccoder.c,也没有发现问题。为什么B0就成了一个常量数字,这里只有一个可能,B0在某处被宏定义了。那么将B0替换名称为BB0,果然顺利通过编译。

但是又不久又报出错误:

又是B0,这次是y##B0,宏展开后是y000000而不是代码希望的yB0,所以报错。B0在asm/termbits.h或asm-generic/termbits.h中被宏定义了

这个B0是linux平台下都定义了的宏,只要你的代码需要引用asm目录下的头文件。解决也就是在报错的源文件将B0给undef。

编译配置参考 http://blog.csdn.net/gobitan/article/details/22750719,这是别人的劳动。

下面是引用它人的脚本代码

#!/bin/bash
NDK=/home/dennis/android-ndk-r9d
SYSROOT=$NDK/platforms/android-/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64 function build_one
{
./configure \
--prefix=$PREFIX \
--enable-shared \
--disable-static \
--disable-doc \
--disable-ffserver \
--enable-cross-compile \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--target-os=linux \
--arch=arm \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
}
CPU=arm
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS="-marm"
build_one

当然了,最好将ndk的toolchain脚本里的一些编译选项也加入到上面的脚本,还有不要忘记pie选项。

最新文章

  1. 【Effective Java】6、使用复合优先于使用继承
  2. 种树 & 乱搞
  3. python join split
  4. MHA高可用+VIP 集群故障转移(已测试成功)
  5. 《将博客搬至CSDN》 分类: 勉励自己 2014-09-05 14:29 43人阅读 评论(0) 收藏
  6. 【细说Java】Java的重写与隐藏
  7. java笔记2之算术运算符
  8. Object-C 新手教程
  9. trove manual installation 翻译
  10. [转载]We Recommend a Singular Value Decomposition
  11. SDCycleScrollView 添加初始滚动页码
  12. 【C#多线程编程实战笔记】二、 线程同步
  13. 一统江湖的大前端(7)React.js-从开发者到工程师
  14. NOI-OJ 1.7 ID:21 单词替换
  15. react实战项目开发(1) 搭建react开发环境初始化项目(Create-react-app)
  16. C#--WinForm项目主窗体设计
  17. html5 canvas高级贝塞尔曲线运动动画(好吧这一篇被批的体无完肤!都说看不懂了!没办法加注释了!当然数学不好的我也没办法了,当然这还涉及到一门叫做计算机图形学的学科)
  18. tp5总结(二)
  19. python基础---- __getattribute__----__str__,__repr__,__format__----__doc__----__module__和__class__
  20. python学习笔记(六) 函数式编程

热门文章

  1. 关于M23内核简介 - 待续
  2. Django之CBV视图源码分析(工作原理)
  3. Leetcode Tags(5)Hash Table
  4. JAVA基础知识注意事项
  5. SpringBoot系列之YAML配置用法
  6. SpringBoot是如何启动的?
  7. SpringBoot + Redis 执行lua脚本
  8. 提高首屏页面加载速度,解决vue-cli打包后单个文件过大的问题
  9. element 自定义 el-loading
  10. 入职第一天,装环境 .Ubuntu装jdk1.8,装idea 及tomcat