On Sat, Jan 23, 2016 at 12:04 PM, Hendrik Leppkes <h.lepp...@gmail.com> wrote: > On Sat, Jan 23, 2016 at 10:41 AM, Henrik Gramner <hen...@gramner.com> wrote: >> On Sat, Jan 23, 2016 at 10:31 AM, Andreas Cadhalpun >> <andreas.cadhal...@googlemail.com> wrote: >>> Yes, I see. Apparently these use two different path notations, >>> 'C:\path\to\file' and '/c/path/to/file', simultaneously. >>> >>> It seems 'pwd' uses the '/c/path/to/file' notation while make uses >>> 'C:\path\to\file'. >>> >>> That seems pretty insane. ;) >>> >>> What command gives the current directory in 'C:\path\to\file' notation >>> for MSVC builds? >>> >>> Setting DST_PATH to that for these builds should fix this problem. >> >> cygpath (if it's available, which it is on MSYS2 and Cygwin at least) >> can convert between Windows/UNIX style paths. See >> https://git.videolan.org/?p=x264.git;a=blob;f=tools/msvsdepend.sh >> >> I would opt for converting everything to UNIX-style paths instead of >> Windows-style paths. IIRC some system had issues with the latter in >> certain scenarios. > > The MSVC tools will not be able to understand the UNIX-style paths, so > thats not a good choice here (and exactly where this problem comes > from).
I did some testing why this breaks, and the reason is of course MSYS shenanigans. MSYS will automatically translate a UNIX-style path back to Windows-style when you pass it as a parameter, however, in this it fails because the syntax is "unconventional". MSVC uses the -Fo parameter for output files *without a space*, ie. /Fooutput.o, and MSYS doesn't replace the parameter then. Similar thing applies to the linker where this is -Fe instead. When building the original MSVC support this was already a problem with TMP files, which is why MSVC places tmp files into the build directory instead of a tmp folder with an absolute path. - Hendrik _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel