[FFmpeg-devel] In Leopard library is broken if compiled with Tiger compatibility
David DeHaven
dave
Mon Dec 8 17:37:38 CET 2008
>>> The problem is actually the flag -D_POSIX_C_SOURCE=200112
>>> When this flag is not present, the compilation succeeds.
>>
>> What's the exact error you're getting when it's present?
>
>
> The problem is not in compile time, but in run time.
> Since some library functions in Leopard follow now the Unix standards,
> these are named functions in Leopard with an appended $UNIX2003
> string.
> For example, function "_strtod" is named as "_strtod$UNIX2003"
>
> This happens only if you compile in Leopard. If you want to keep
> backwards compatibility with Tiger, you need to use the proposed
> methods above.
> Unfortunately, even then, the code which is produced by ffmpeg still
> has unresolved symbols (i.e. functions named *$UNIX2003 )
I will reiterate:
-isysroot /Developer/SDKs/MacOSX10.4u.sdk
I have NO such problems when building on Leopard:
$ otool -Iv build/stage/bin/mplayer | grep UNIX
$ otool -Iv build/stage/bin/ffmpeg | grep UNIX
$ otool -Iv build/stage/bin/mplayer | grep strtod
0x00d02e1a 423 _strtod
$ otool -Iv build/stage/bin/ffmpeg | grep strtod
0x00978cea 3179 _strtod
-DrD-
More information about the ffmpeg-devel
mailing list