[FFmpeg-devel] [PATCH] fix implicit function declarations without _XOPEN_SOURCE

Adrian Stutz adrian
Mon Aug 25 19:16:50 CEST 2008


On Mon, Aug 25, 2008 at 6:03 PM, M?ns Rullg?rd <mans at mansr.com> wrote:

> Are you saying the compiler adds the version tag to the symbols?
> That's a weird way of doing it.


It's not like I really understand it but it seems like the tag is added in
the headers using __asm(). The Apple-link in the first post explains more
detailed what is happening.


> Our code conforms to widely accepted standards.  Your compiler decides
> to replace a few symbols with non-standard names, which the linker
> then cannot find.  Around here, that's called Your Problem.


That's fine if you don't want to work around specific compiler oddities.
This problem only affects compiling from 10.5 to 10.4 anyway, a regular
compile for the same version isn't affected on either 10.4 or 10.5.

I couldn't find much information regarding this problem expect some other
projects fixing it with checking for __APPLE__ and __DARWIN__. So I decided
to post this here for anyone who might come across the same problem.

On Mon, Aug 25, 2008 at 7:01 PM, David Conrad <lessen42 at gmail.com> wrote:

>
> Works for me.
>
> It sounds like you're using 10.5 headers. Make sure you're specifing
> the sdk in cflags as well as ldflags. Otherwise make sure you have the
> latest developer tools.


I've added "-mmacosx-version-min=10.4 -isystem /Developer/SDKs/MacOSX10.4u.sdk"
to both cflags and ldflags as well as set
"NEXT_ROOT=/Developer/SDKs/MacOSX10.4u.sdk" and
"MACOSX_DEPLOYMENT_TARGET=10.4". I think this problem wouldn't occur if I
didn't because then the linker could find the versioned symbols.

Do you have  _XOPEN_SOURCE in utils.c? And what flags are you using?

--
Adrian




More information about the ffmpeg-devel mailing list