UE4GameLiftClientSDK icon indicating copy to clipboard operation
UE4GameLiftClientSDK copied to clipboard

AWSCoreModule.cpp linker errors

Open jarrodspurrier opened this issue 6 years ago • 6 comments

I'm getting the following linker errors when trying to build on 4.21.2 with VS2017 15.9.7:

AWSCoreModule.cpp.obj : error LNK2001: unresolved external symbol "void __cdecl Aws::InitAPI(struct Aws::SDKOptions const &)" (?InitAPI@Aws@@YAXAEBUSDKOptions@1@@Z)
AWSCoreModule.cpp.obj : error LNK2001: unresolved external symbol "void __cdecl Aws::ShutdownAPI(struct Aws::SDKOptions const &)" (?ShutdownAPI@Aws@@YAXAEBUSDKOptions@1@@Z)

It was building successfully prior to upgrading to VS2017 15.9.7.

jarrodspurrier avatar Feb 18 '19 12:02 jarrodspurrier

@jarrodspurrier do you have the v141 build tools installed?

image

chris-gong avatar Mar 09 '19 22:03 chris-gong

Also if you're experiencing this issue, then that means you're missing dll and lib files from the ThirdParty folder in the plugin. I know this because I experienced the exact same issue, hope this helps.

chris-gong avatar Mar 10 '19 19:03 chris-gong

@chris-gong I have same error but I copied all dll and lib files from your fork. v141 tools installed. Do you have any suggestions?

TimSmolonski avatar Apr 22 '20 18:04 TimSmolonski

@TimSmolonski I would suggest using the entire fork if possible. Also, if you are using the GameLift Server SDK, you may have to add these two lines to the GameLiftServerSDK.Build.cs file. PublicDefinitions.Add("USE_IMPORT_EXPORT");

This repository also has a working version of both the client and server sdk's working together, https://github.com/ZX-Diablo/UE4GameLift/tree/master/Plugins

chris-gong avatar Apr 22 '20 22:04 chris-gong

@TimSmolonski I would suggest using the entire fork if possible. Also, if you are using the GameLift Server SDK, you may have to add these two lines to the GameLiftServerSDK.Build.cs file. PublicDefinitions.Add("USE_IMPORT_EXPORT");

This repository also has a working version of both the client and server sdk's working together, https://github.com/ZX-Diablo/UE4GameLift/tree/master/Plugins

Oh I used your fork but compiling wasn't successful but with added PublicDefinitions it works. Thank you man! As I can understand, compiler didn't see some definitions and wasn't able to compile, am I correct?

Also as I can see from the ZX-Diablo repo, he added PublicDefinitions to target platform Win64 (https://github.com/ZX-Diablo/UE4GameLift/blob/7bf71b2470270c1868cdafc5e24b6b68d5ae91bb/Plugins/GameLiftServerSDK/Source/GameLiftServerSDK/GameLiftServerSDK.Build.cs#L83) Is it not necessary to add this Definitions to Linux target build or it just won't work?

TimSmolonski avatar Apr 22 '20 22:04 TimSmolonski

@TimSmolonski are you making a client for Linux or are you just trying to get the client sdk to build on the server for uploading to GameLift? Because if it's the latter, I would recommend excluding the GameLiftClientSDK from your server build if possible because there's no need for it to be in the server.

chris-gong avatar Apr 23 '20 00:04 chris-gong