Bug 181639 - Cannot build with Visual Studio 2017 Update 5
Summary: Cannot build with Visual Studio 2017 Update 5
Status: RESOLVED WORKSFORME
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Local Build
Hardware: PC Windows 10
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-01-14 14:09 PST by Chris Nardi
Modified: 2018-02-14 09:26 PST (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Nardi 2018-01-14 14:09:34 PST
When building with Visual Studio 2017 Update 5 I get:

D:\WebKit\Source\WebCore\PAL\pal\cf\CoreMediaSoftLink.cpp(58): error C4430: missing type specifier - int assumed. Note:
 C++ does not support default-int [D:\WebKit\WebKitBuild\Release\Source\WebCore\PAL\pal\PAL.vcxproj]
D:\WebKit\Source\WebCore\PAL\pal\cf\CoreMediaSoftLink.cpp(58): error C2146: syntax error: missing ';' before identifier
 'once' [D:\WebKit\WebKitBuild\Release\Source\WebCore\PAL\pal\PAL.vcxproj]
D:\WebKit\Source\WebCore\PAL\pal\cf\CoreMediaSoftLink.cpp(58): error C2065: 'once': undeclared identifier [D:\WebKit\We
bKitBuild\Release\Source\WebCore\PAL\pal\PAL.vcxproj]
D:\WebKit\Source\WebCore\PAL\pal\cf\CoreMediaSoftLink.cpp(58): error C3861: 'dispatch_once_f': identifier not found [D:
\WebKit\WebKitBuild\Release\Source\WebCore\PAL\pal\PAL.vcxproj]

I'm not sure if this has to do with my setup or with Update 5. I have iTunes installed so I should have CoreMedia appropriately in my build.
Comment 1 Don Olmstead 2018-01-22 12:21:32 PST
WinCairo definitely builds with VS 2017 Update 5. We don't build out AppleWin and this file is an AppleWin file. I don't know what Apple's bots are currently running.
Comment 2 Yoshiaki Jitsukawa 2018-01-22 19:06:17 PST
I couldn't reproduce the issue with Visual Studio 2017 version 15.5.4.
Comment 3 Chris Nardi 2018-01-22 19:09:14 PST
WinCairo builds, so I guess I'll just be using that for now. It's probably something with my setup; I'm not sure what it could be though.
Comment 4 Fujii Hironori 2018-01-26 03:01:55 PST
I also able to build AppleWin port with Visual Studio 2017 version 15.5.5.

dispatch_once_f is used in SOFT_LINK_FUNCTION_FOR_SOURCE of Source/WTF/wtf/cocoa/SoftLinking.h.
WebKit Windows port (AppleWin port and WinCairo port) should use SOFT_LINK_FUNCTION_FOR_SOURCE of Source/WTF/wtf/win/SoftLinking.h.

Here is the content of Source/WTF/wtf/SoftLinking.h:

> #if PLATFORM(COCOA)
> #include <wtf/cocoa/SoftLinking.h>
> #elif OS(WINDOWS)
> #include <wtf/win/SoftLinking.h>
> #else
> #error "SoftLinking not defined for platform"
> #endif

I guess you accidentally define WTF_PLATFORM_COCOA.
Comment 5 Don Olmstead 2018-02-13 21:45:25 PST
Chris any resolution here?
Comment 6 Chris Nardi 2018-02-14 07:10:17 PST
I haven't tried using the actual AppleWin build recently; I've just been using WinCairo, which works for me.

I'm not sure how it would be defined so that PLATFORM(COCOA) would be true on Windows, so I'm going to guess this is some way that I have my setup weirdly done.
Comment 7 Don Olmstead 2018-02-14 09:26:21 PST
(In reply to Chris Nardi from comment #6)
> I haven't tried using the actual AppleWin build recently; I've just been
> using WinCairo, which works for me.
> 
> I'm not sure how it would be defined so that PLATFORM(COCOA) would be true
> on Windows, so I'm going to guess this is some way that I have my setup
> weirdly done.

Glad you're up and running now. I'm going to close this then.