On 10/8/2013 2:12 PM, James Board wrote:
"How difficult would it be to compile the examples in the doc/examples
directory with a C++ compiler?"

Those are C programs, so just use a C compiler for them.  That's all I
meant.

Okay, I understand.  Yes they are just C programs, so I can compile with
the C compiler.  But my C++ programs with libav subroutine calls won't
compile and the error messages I receive are the same as when I try to compile
the doc/examples with C++.  So, rather then posting my C++ code, it's easier
to debug the problems by merely trying to compile the doc/examples with the
C++ compiler

So I just added it myself, around my C includes:

extern "C" {
#include "libavformat/avformat.h"
etc...
}

I tried exactly that with the demuxing.c example.  When I try to compile
it with the C++ compiler, I get errors.  When I compile with the C compiler,
no errors.  What do I need to do to get demuxing.c to compile with the C++
compiler in Linux?


You didn't describe the error messages, but I gave it a shot with mingw32 4.8.1, and now I see error messages as well. E.g.

demuxing.c: In function 'int main(int, char**)':
demuxing.c:261:66: error: invalid conversion from 'void*' to 'uint8_t** {aka unsigned char**}' [-fpermissive]
         audio_dst_data = av_mallocz(sizeof(uint8_t *) * nb_planes);
                                                                  ^
Is that the kind of error you are seeing (this is from ffmpeg 2.0.1)? I am admittedly using an older version of libav (0.8.6), not the latest ffmpeg, and that works fine with C++ compilers. I hadn't realized it, but it seems things have changed... which is good for me to know. I don't know of an easy fix for this :(

Andy


_______________________________________________
Libav-user mailing list
Libav-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to