x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

UE4.17 will not compile with new studio2017_15.3 update

ue4.17 git release branch will not compile with todays (8/14/2017) released visual studio 2017, 15.3 update.

i have tested with a fresh ue4.17git release branch copy, and a freshly installed copy of visual studio 2017, 15.3. there is no way to install any other version of visual studio.

the following components generate an error:

UnrealFrontend
UnrealCEFSubProcess
ShaderCompileWorker
UnrealLightmass
UnrealVersionSelector
CrashReportClient
BootstrapPackagedGame
UnrealPak
UnrealWatchdog
BlankProgram
BuildPatchTool
ShaderCacheTool
SlateViewer
MinidumpDiagnostics
SymbolDebugger
TestPal
UnrealFileServer
UE4

all of them have the same error: C2187 syntax error: 'identifier' was unexpected here C:\Program Files (x86)\Windows Kits\8.1\include\um\combaseapi.h 229

all of the errors point to that one file in windows 8.1 sdk.

Product Version: UE 4.17
Tags:
more ▼

asked Aug 15 '17 at 02:07 AM in Bug Reports

avatar image

marineuac
120 5 9 9

avatar image marineuac Aug 15 '17 at 02:51 AM

i have also reinstalled all forms of windows sdk.

avatar image marineuac Aug 15 '17 at 06:20 AM

older visual studio 2017, 15.0 from https://my.visualstudio.com/Downloads?q=Visual%20Studio%202017 is a workaround for this problem. make sure you uninstall existing versions first.

avatar image marineuac Aug 16 '17 at 06:05 AM

some people were having trouble with 15.0 installation, make sure you go to https://www.visualstudio.com/downloads/ scroll ALL the way down and download+install the x86 version of Microsoft Visual C++ Redistributable for Visual Studio 2017 first, before attempting the 15.0 installation.

avatar image ph0ng Aug 20 '17 at 01:46 AM

My VS 2017 Community upgraded to 15.3 on me and broke 4.15.1 compile (for spatialos) - cant seem to find a way to downgrade to 15.2 or previous.

avatar image marineuac Aug 20 '17 at 01:51 AM

the steps above i explained worked for me, for a 15.0 downgrade. you will need a Visual Studio Team Services account, im sure you can make one for free.

avatar image VonBlitzkrieg Sep 26 '17 at 08:40 AM

If anyone was wondering, you can make one for free. Just made one myself

avatar image Haoris Sep 04 '17 at 05:21 PM

So there's no solution?

avatar image marineuac Sep 04 '17 at 08:07 PM

the answer by @Kanibel is the solution that worked for me. i am using latest visual studio and i simply merged those 2 commits.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

5 answers: sort voted first

Looks to be a changelist on Master branch which fixes the issue here: https://github.com/EpicGames/UnrealEngine/commit/4f48ef53ed646a22532e8e981f5515c94f303932

If you're are on the source version (github) you can integrate that commit but if you are on the binary version (the launcher) you will have to wait till a hotfix is released I'm afraid.

more ▼

answered Aug 22 '17 at 07:15 AM

avatar image

Kanibel
131 5 15 19

avatar image Raikoh Aug 23 '17 at 03:20 PM

This change didn't help, i still have the issue. C:\Program Files (x86)\Windows Kits\8.1\include\um\combaseapi.h(229): error C2187: syntax error: 'identifier' was unexpected here

avatar image speedpacer Aug 23 '17 at 10:03 PM

This worked for me. If you're on Windows 10, you probably don't need the Windows 8.1 SDK.

Edit: Just a follow-up to this. I didn't need the 8.1 SDK on a freshly installed Windows 10 PC, but it was required on a PC that had been upgraded from 8.1 to 10. On both computers, I was able to compile after making these changes.

avatar image Haoris Sep 04 '17 at 05:25 PM

I did this change and still the same error. I don't have the 8.1 sdk.

avatar image T0t4r4 Sep 10 '17 at 02:35 AM

This change doesn't fix it. You need to amend the Build Tool chain file at Engine/Source/Programs/UnrealBuildTool/Windows/VCToolChain.cs

Add the line as marked below :

 // Disable Microsoft extensions on VS2017+ for improved standards compliance.
             if (Compiler >= WindowsCompiler.VisualStudio2017)
             {
                 Arguments.Add("/permissive-");
                 Arguments.Add("/Zc:twoPhase-"); // <-- ADD THIS LINE
                 Arguments.Add("/Zc:strictStrings-"); // Have to disable strict const char* semantics due to Windows headers not being compliant.
             }


Then rebuild your project.

avatar image Inderdeep.Khanna Sep 25 '17 at 01:45 PM

where to add this code in the file ?

avatar image Sirs0ri Nov 03 '17 at 11:08 PM

It's line 250 for me, searching for Arguments.Add("/permissive-"); should give the correct location.

avatar image shrst Nov 09 '17 at 10:15 AM

thanks a lot it worked for me

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

Hi,

I've just started trying out the 15.3 Preview. You need an updated SDK which is not publicly available:

https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewSDK

However, for now, I've managed to get further by just patching that header to forward-declare the IUnknown interface, like this:

 interface IUnknown; // ADD THIS LINE HERE
 extern "C++"
 {
     template<typename T> _Post_equal_to_(pp) _Post_satisfies_(return == pp) void** IID_PPV_ARGS_Helper(T** pp) 
     {
 #pragma prefast(suppress: 6269, "Tool issue with unused static_cast")
         static_cast<IUnknown*>(*pp);    // make sure everyone derives from IUnknown
         return reinterpret_cast<void**>(pp);
     }    
 }

That gets around the compile error at least, but my testing is on-going, so do not assume that we support the 15.3.0 Preview yet.

Steve

more ▼

answered Aug 15 '17 at 11:24 AM

avatar image

Steve Robb STAFF
2.8k 58 31 101

avatar image marineuac Aug 15 '17 at 07:59 PM

thanks for reviewing, i will stick with studio2017_15.0 for now.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
more ▼

answered Aug 26 '17 at 10:33 PM

avatar image

teak421
1.3k 34 13 51

avatar image Steve Robb STAFF Aug 30 '17 at 10:17 AM

Yeah, this is a hack we added to make UE compile. But if you have any non-UE projects which include this header then you will likely hit the same problem until Microsoft release an updated SDK (or you apply that hack mentioned above).

Steve

avatar image Marcos Aug 30 '17 at 08:20 PM

Yeah... it worked for me too! I just did a git checkout , and I was good to go. Thanks for the answer!!! gang gang :)

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
more ▼

answered Aug 31 '17 at 12:53 AM

avatar image

Trout Zhang
11 1 2

avatar image marineuac Aug 31 '17 at 02:28 AM

confirmed working edit: spoke too soon the thing just fell apart

avatar image Marcos Aug 31 '17 at 11:03 AM

I'm gonna stick with the fix from epic until I have sure that I can reverse back to the main branch. Until now, It's working fine for me.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

What fixed my issue was

Verify your windows user account.

In windows 10 go to all settings -> Users -> your Account and check to see if your user account has been verified. It will show a little blue link "Verify" After i verified my account i no longer had any permission issues. or 8.1 kit errors.

Weird i know but it fixed it.

more ▼

answered Mar 03 '18 at 11:46 PM

avatar image

NeoTactical
46 1 2 2

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question