[FFmpeg-devel] [RFC FIX] Build error with ffmpeg 3.1.3 (and current git) on cygwin

Hendrik Leppkes h.leppkes at gmail.com
Thu Sep 22 15:08:42 EEST 2016


On Thu, Sep 22, 2016 at 1:52 PM, Timo Rothenpieler
<timo at rothenpieler.org> wrote:
> Am 22.09.2016 um 13:37 schrieb Michael Fritscher:
>> Hi,
>>
>> ok, I rephrase it: I have the issue that HAVE_SETDLLDIRECTORY is
>> defined, but _WIN32 is not if compiling under cygwin (fresh install, no
>> mingw).
>>
>> SetDllDirectory() is called whenever HAVE_SETDLLDIRECTORY is defined,
>> there is no check for _WIN32.
>>
>> The configure script seems to test windows.h for SetDllDirectory without
>> a test of running in a _WIN32 environment:
>>> check_func_headers windows.h SetDllDirectory
>>
>> So cygwin has the situation that the compiler (or the headers) doesn't
>> set _WIN32, but have windows.h (c:\cygwin64\usr\include\w32api\windows.h).
>
> This was broken by f4b8892ccbf08ea5b38177bb7ad042921d082eac
> No idea why that commit is not present in master.
>
> The correct solution would be checking for both _WIN32 and
> HAVE_SETDLLDIRECTORY.

master uses _WIN32 checks in both places so if its not set, it will
never error, because it'll never even try to call it.

3.1 uses a different check because it was refactored in master later,
and while 3.1.3 was still missing one check, it was fixed after that
release was made.
Unless master actually fails, or the latest commit in the 3.1 branch
fails, there is nothing we have to do. We cannot retroactively fix
3.1.3, but it is fixed for the next release as far as I can tell.

- Hendrik


More information about the ffmpeg-devel mailing list