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