[FFmpeg-user] compiling for android
Carl Eugen Hoyos
cehoyos at ag.or.at
Wed Jul 9 11:37:52 CEST 2014
Patrick Shirkey <pshirkey <at> boosthardware.com> writes:
> It utilises ./configure too but has additional code
> which modifies various config files before building
This is one of the reasons why you definitely shouldn't
use this script.
[...]
> > Why are --extra-cflags needed?
>
> No specific reason. They worked for the script above
> without x264 so I was starting from there.
> ./configure --arch=arm --target-os=linux --cpu=cortex-a8
> --enable-cross-compile \
> --cross-prefix=/4.4/prebuilts/gcc/linux-x86/arm/
> arm-linux-androideabi-4.7/bin/arm-linux-androideabi- \
> --sysroot=/4.4/prebuilts/ndk/current/platforms/android-18/arch-arm \
> --enable-gpl --enable-avresample --enable-libx264 \
> --extra-cflags='-DGNU_SOURCE -fno-builtin-sin -fno-builtin-cos' \
> --extra-ldflags='-Wl,--fix-cortex-a8,-L/.4.4/external/x264'
Sorry if this is obvious to you (it isn't to me), why
are you using --extra-cflags?
I believe -DGNU_SOURCE is both wrong and unneeded.
And why --fix-cortex-a8?
The main reason I ask this is that there may be something
missing in our configure script (that wasn't reported yet
or - even worse - the report was missed). In this case it
would make sense to fix it for all users.
[...]
> libavfilter/avf_showcqt.c:332: error: undefined reference to 'sincos'
Doesn't this mean that your headers (or toolchain) do
not match your math library?
The following compiles fine here (no cross-compiling) with
gcc -lm. If it doesn't work for your cross-compiler, I
suspect you have to fix it before you can compile FFmpeg.
#define _GNU_SOURCE
#include <math.h>
int main(void)
{
double a, b, c;
sincos(a, &b, &c);
return b*c;
}
Carl Eugen
More information about the ffmpeg-user
mailing list