[FFmpeg-devel] [PATCH] build: fix make checkheaders in out-of-tree builds

Andreas Cadhalpun andreas.cadhalpun at googlemail.com
Sun Jan 24 16:56:36 CET 2016


On 24.01.2016 16:29, Hendrik Leppkes wrote:
> On Sun, Jan 24, 2016 at 3:45 PM, Andreas Cadhalpun
> <andreas.cadhalpun at googlemail.com> wrote:
>>
>> So here the correct path is passed to '-Fo'.
>>
>>> D:\Multimedia\ffmpeg\develop\libavdevice\alldevices.c : fatal error
>>> C1083: Cannot open compiler generated file:
>>> 'D:\Multimedia\ffmpeg\develop\D:\Multimedia\BuildEnv\MSYS2\Multimedia\ffmpeg\build\libavdevice\alldevices.o':
>>> Invalid argument
>>
>> But it seems MSYS2 interpreted it as unix path and tried to convert it
>> to a Windows path. This is probably caused by the original path using
>> '/' instead of '\'.
>>
>> Does the following fix it?
>> --- a/configure
>> +++ b/configure
>> @@ -6234,7 +6234,7 @@ enabled stripping || strip="echo skipping strip"
>>  config_files="$TMPH config.mak doc/config.texi"
>>
>>  if enabled msvc; then
>> -    dst_path=$(pwd -W)
>> +    dst_path=$(pwd -W | sed 's_/_\\_g')
>>  else
>>      dst_path=$(pwd)
>>  fi
>>
> 
> If anything backslashes make it worse, now it won't even find its
> include path anymore (ie fails at config.h not found).

Argh. Is that because there is a '/' added at the end of the include path?
Does the following help?
--- a/common.mak
+++ b/common.mak
@@ -32,7 +32,7 @@ endif
 ALLFFLIBS = avcodec avdevice avfilter avformat avresample avutil postproc swscale swresample
 
 # NASM requires -I path terminated with /
-IFLAGS     := -I$(DST_PATH)/ -I$(SRC_PATH)/
+IFLAGS     := -I$(DST_PATH) -I$(SRC_PATH)/
 CPPFLAGS   := $(IFLAGS) $(CPPFLAGS)
 CFLAGS     += $(ECFLAGS)
 CCFLAGS     = $(CPPFLAGS) $(CFLAGS)

Best regards,
Andreas



More information about the ffmpeg-devel mailing list