liamkf / Unreal_FASTBuild

Allows UnrealEngine to be built with FASTBuild for VS2015/VS2017 and Windows 10.
MIT License
180 stars 71 forks source link

VS17 Support #14

Closed jackknobel closed 6 years ago

jackknobel commented 7 years ago

I've attempted to add support for VS17 in the commit here: https://github.com/jackknobel/Unreal_FASTBuild/commit/e0d96cc3bfbfbad2b0555087df652996536d9552

I'm currently testing it by building Shader Compile Worker. It begins to build and everything is A okay until it hits the ImageWrapper.PCH file where it spits out these errors: https://hastebin.com/itukiyomuw.tex

Are you familiar with any of these issues? I feel like its trying to compile with C++14 instead of '11, is there a way to enforce C++11?

Looks like you can enforce some compiler options here but they were not working for me when I tried; citing it was an unknown option.

I do appologise if this is the wrong place, am happy to remove this issue if need be 😄

liamkf commented 7 years ago

Hi there! Sorry about the delay in responding, I've been away for a bit.

What you've done to support VS17 looks reasonable enough, but I'm afraid I haven't run into those specific errors that you've run into as I'm not on VS17 yet. :)

I'm not sure if you've made any progress since then tracking down what could be the culprit, but have you tried with/without both distribution and caching? I'm assuming the engine builds fine using XGE or just a normal VS2017 build.

For the compiler options you want to add, I would add them in the .CompilerOptions being generated from FASTBuild.cs, FASTBuild should just be passing them through to msvc... so if the options exist and you're seeing the compiler complain about them being unknown, I suppose it could also be an issue with VS17 and FASTBuild, which would be good to sort out!

Sorry for the guesswork! Hopefully it helps a bit...

jackknobel commented 7 years ago

No worries at all!

Unfortunately I've been super busy so I hadn't made much headway other then what I've submitted here. I have tried without distribution but I don't think I've tried without caching; I will definitely look into that now.

The engine builds fine with XGE and a standard build (have been using VS17 for a few months with no issues).

I may have been entering in the wrong compiler option, the option I tried was + ' -std=c++11' Would you happen to know if that is the right one?

No worries, thanks for the reply @liamkf!

jackknobel commented 7 years ago

Tried various combinations of distribution and caching but unfortunately still not compiling 😞

liamkf commented 7 years ago

Hmmm, that's too bad! I would guess based on the error log it's something about how that particular header is treated when calling the preprocessor by fastbuild, but those problems can be annoying to track down in something as massive as Unreal...

jackknobel commented 7 years ago

Hey @liamkf Finally had a chance to sit down this morning and flush out the last of the issues! The problem was I had it pointing towards the 2015.3 v140 Toolset instead of the VS17 toolset (2017 v141).

I have made a pull request with the changes here https://github.com/liamkf/Unreal_FASTBuild/pull/17

yass007 commented 6 years ago

Should be fixed with latest version.

yass007 commented 6 years ago

Closing since VS2017 is supported since the 4.18 release.