> 2014/09/01 4:05PM Clément Bœsch <u...@pkh.me <mailto:u...@pkh.me>> wrote: 
> 
> On Mon, Sep 01, 2014 at 03:39:08PM +0900, Kimio Miyamura wrote:
>> 
>>> On 2014/09/01, at 2:11PM, Clément Bœsch <u...@pkh.me <mailto:u...@pkh.me>> 
>>> wrote:
>>> 
>>>> On Mon, Sep 01, 2014 at 10:02:58AM +0900, Kimio Miyamura wrote:
>>>> 
>>>> I searched web and found that modification of ffmpeg configure script is 
>>>> required: 
>> 
>>>> -enabled libmodplug        && require libmodplug libmodplug/modplug.h 
>>>> ModPlug_Load -lmodplug
>>>> +enabled libmodplug        && require libmodplug libmodplug/modplug.h 
>>>> ModPlug_Load -lmodplug -lstdc++
>>>> 
>>>> or
>>>> 
>>>> -enabled libmodplug        && require libmodplug libmodplug/modplug.h 
>>>> ModPlug_Load -lmodplug
>>>> +enabled libmodplug        && require libmodplug libmodplug/modplug.h 
>>>> ModPlug_Load -lmodplug -lc++
>> 
>>>> I think either of them should be added to ffmpeg compile script.  How do 
>>>> you think?
>> 
>>> Does -lstdc++ or -lc++ appears in pkg-config --libs libmodplug?
>> 
>> $ pkg-config --libs libmodplug
>> -L/Volumes/ffmpeg_compile/lib -lmodplug
>> 
>> So either -lstdc++ or -lc++ don't appear in the command output.  
>> 
>> I checked libmodplug.pc.  
>> 
>> $ cat /Volumes/ffmpeg_compile/lib/pkgconfig/libmodplug.pc 
>> prefix=/Volumes/ffmpeg_compile
>> exec_prefix=${prefix}
>> libdir=${exec_prefix}/lib
>> includedir=${prefix}/include
>> 
>> Name: libmodplug
>> Description: The ModPlug mod file playing library.
>> Version: 0.8.8.5
>> Requires: 
>> Libs: -L${libdir} -lmodplug
>> Libs.private: -lstdc++ -lm
>> Cflags: -I${includedir}
>> 
>> -lstdc++ appears in Libs.private: line.  But even though configure with 
>> "./configure --pkg-config-flags=--static --enable-libmodplug", the result is 
>> same error.  
>> 
> 
> Right, that's because libmodplug wasn't detected through pkg-config, which
> I just fixed in git/master. Can you git pull and retry that latest command
> with --pkg-config-flags=--static?

A information for Windows (MinGW?) user.  

With above ffmpeg change, Windows (MinGW?) user encounters libmodplug not found 
error when configuring ffmpeg with libmodplug-0.8.8.5.  
This is because of mod plug.h's                 MODPLUG_EXPORT macro.  The 
macro is defined as __declspec(dllimport) would be added, without defining 
MODPLUG_STATIC.  
Then, called as `_imp__ModPlug_Load' from ffmpeg configure, and then result in 
libmodplug not found error.  (I'm not Windows user.  I'm writing the error 
mechanism based on one of my friend's comment who using Windows)

The countermeasure is either of bellow 3.
1.Define MODPLUG_STATIC in modplug.h.
2.Add "-DMODPLUG_STATIC" to Cflags: -I${includedir} line in libmodplug.pc.
3.Configure ffmpeg with adding "--extra-cflags=-DMODPLUG_STATIC" option.

My friend told me that ffmpeg's require_pkg_config change in libmodplug is 
fair.  There are some libraries which have to add STATIC definition to build 
ffmpeg correctly.  

So please use either of 3 countermeasure to build ffmpeg with libmodplug 
support in Windows.


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

Reply via email to