This is an FYI bug. I gave a quick pass to try to build JavaScriptCore (I don't need all of WebKit, but I think all of WebKit has the same problem) with Visual Studio 2015 Update 2. It doesn't compile. So the biggest "problem" I see is that Microsoft finally fixed their broken compiler to support a bunch of C99 things they have dragged their feet on for a decade. So things like snprintf I think finally exist. But the problem is that there are a lot of workarounds to redefine this missing functions for Visual Studio which result in duplicate definitions now and break the compile. I think the solution is to start looking for the #if _MSC_VER cases and explicitly compare for < 1900 when it looks like it is a C/C++ language/standard-library workaround for Visual Studio.
(In reply to comment #0) > This is an FYI bug. I gave a quick pass to try to build JavaScriptCore (I > don't need all of WebKit, but I think all of WebKit has the same problem) > with Visual Studio 2015 Update 2. It doesn't compile. > > So the biggest "problem" I see is that Microsoft finally fixed their broken > compiler to support a bunch of C99 things they have dragged their feet on > for a decade. So things like snprintf I think finally exist. But the problem > is that there are a lot of workarounds to redefine this missing functions > for Visual Studio which result in duplicate definitions now and break the > compile. > > I think the solution is to start looking for the #if _MSC_VER cases and > explicitly compare for < 1900 when it looks like it is a C/C++ > language/standard-library workaround for Visual Studio. Well! This is good and bad news. Let's try to get those changes started. I can get our Windows builders updated to Update 2 and see what happens Do you intend to post any patches for this?
<rdar://problem/25861699>
<rdar://problem/25861703>
I just upgraded to Visual Studio 2015 Update 2, and had no problem building WebKit. Can you attach a build log of your failure so I can see what's going on?
(In reply to comment #4) > I just upgraded to Visual Studio 2015 Update 2, and had no problem building > WebKit. Can you attach a build log of your failure so I can see what's going > on? I'm still having problems, but I might have been a little inaccurate/imprecise in my original description. First to clarify any possible confusion, I am following the Windows without Cygwin instructions. So the first problem with snprintf example was actually in the WinCairo support project, which might fall outside WebKit. However, after I move to actual webkit, I see a lot of compile errors. Below is my output from building just WTF.lib. Since I saw the snprintf problem earlier, and these messages seem to be redeclaration errors, I assumed something similar is going on. I should also point out that my code is probably a few months stale. Building for Windows is so hard, I kept a VM snapshot of my last successful build with VS2013, and then forked it to try with VS2015. (Note: I'm going to try an attachment for the errors. I get an error saying this message is too long.)
Created attachment 277117 [details] VS2015 WTF.lib error output
This looks like an old revision of WebKit. What SVN revision are you using? Does it still reproduce with what is currently in the repository?