aws / lumberyard

Amazon Lumberyard is a free AAA game engine deeply integrated with AWS and Twitch – with full source.
Other
2.02k stars 540 forks source link

GameLift preventing compilation #556

Open ChalkX opened 2 years ago

ChalkX commented 2 years ago

Describe the bug I tried making a new project, but Lumberyard is failing to build or compile the project. According to the logs, the issue lies with GameLift.

Steps to reproduce Create a new project in Lumberyard and include the GameLift Gem, then rebuild the project

Expected behavior The project build successfully

Screenshots/Logs https://pastebin.com/raw/vSbsGaeX

Lumberyard version v1.28.0.0

AMZN-Gene commented 2 years ago

Hmm, after adding the GameLift Gem did you also lmbr_waf configure? I'll follow up with the GameLift team regarding the compilation errors, but that should all compile fine. When you get a chance, let me know what Visual Studio version are you using :) The permission denied warnings also look troublesome. Do you have any applications holding onto the these DLLs? What happens if you restart the computer and then recompile?

ChalkX commented 2 years ago

Hey, thanks for the quick reply. I used the setup assistant, I haven't used the command prompt for any of this - I didn't think I had to. I'm using Visual Studio 2019 Community 16.11.5, but I haven't even opened the project in Visual Studio since I can't compile it. This is a completely fresh project. I did try restarting the computer, but to no avail - I'll try it again and see if it does anything.

AMZN-Gene commented 2 years ago

Were you able to try again? How did it go?

AMZN-alexpete commented 2 years ago

You can fix this issue by adding the Outcome.h include in dev\Gems\GameLift\Code\Include\GameLift\Session\GameLiftClientService.h on line 34 like this

#pragma warning(push)
#pragma warning(disable: 4355) // <future> includes ppltasks.h which throws a C4355 warning: 'this' used in base member initializer list
#include <aws/core/Utils/Outcome.h> // pull in the full Outcome class to avoid an is_destructable intrinsic error due to forward declare in GameLiftClient.h
#include <aws/gamelift/GameLiftClient.h>
#pragma warning(pop)