[FFmpeg-devel] how to build ffmpeg with -O0 instead of -O1
wm4
nfxjfg at googlemail.com
Mon Mar 21 13:57:03 CET 2016
On Mon, 21 Mar 2016 20:37:25 +0800 (CST)
qw <applemax82 at 163.com> wrote:
> Hi,
>
> I want to build ffmpeg without optimization options, which means compiling flags uses O0 instead of O1-O3. I use the following command to build ffmpeg, where O1 is used in config.mak.
>
> ./configure --enable-debug --disable-optimizations ......
>
> I want to disable all optimization options to debug ffmpeg/ffmpeg_g program. If I change optimization options in config.mak, i.e. using O0 instead of O1, there will be some error messages during the building process:
>
> libavutil/libavutil.a(cpu.o): In function `av_get_cpu_flags':
> /export/qiang/sourceCode/ffmpeg-2.8.3/libavutil/cpu.c:82: undefined reference to `ff_get_cpu_flags_aarch64'
> /export/qiang/sourceCode/ffmpeg-2.8.3/libavutil/cpu.c:84: undefined reference to `ff_get_cpu_flags_arm'
> /export/qiang/sourceCode/ffmpeg-2.8.3/libavutil/cpu.c:86: undefined reference to `ff_get_cpu_flags_ppc'
>
> How to build ffmpeg with O0 option?
>
> B.R.
FFmpeg can't be built without optimizations. It relies on trivial dead
code elimination to make the code "simpler". So it will do things like
this:
#define ARCH_SOMETHING 0
...
if (SOMETHING) arch_specific_symbol();
And rely that arch_specific_symbol is not referenced on platforms where
ARCH_SOMETHING is 0.
More information about the ffmpeg-devel
mailing list