Sign In Register

How can we help you today?

Start a new topic

Gamesparks CPP SDK 1.1.24 doesn't compile under Android

 In easywsclient\CertificateStore.hpp there is a following definition:

#if (GS_TARGET_PLATFORM == GS_PLATFORM_ANDROID)
			static int numCerts;
			static unsigned char *pCertsEncoded;
			static int *pCertsLength;
#endif

 But in AndroidImplSockets.cpp there is only this:

 

#if defined(__UNREAL__)
int GameSparks::Util::CertificateStore::numCerts = 0;
unsigned char *GameSparks::Util::CertificateStore::pCertsEncoded = NULL;
int *GameSparks::Util::CertificateStore::pCertsLength = NULL;
#endif

 So linker step is failing with following:


 

  C:/Users/user/AppData/Local/Android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__mutex_base:0: error: undefined reference to 'GameSparks::Util::CertificateStore::pCertsEncoded'
  C:/Users/user/AppData/Local/Android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__mutex_base:0: error: undefined reference to 'GameSparks::Util::CertificateStore::pCertsLength'
  C:/Users/user/AppData/Local/Android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__mutex_base:0: error: undefined reference to 'GameSparks::Util::CertificateStore::numCerts'

Would be nice to fix it :)

1 Comment

Update: it's not only doesn't compile, but if unreal define is removed to declare those variables - it doesn't work at all. Because GS SDK now requires SSL cert validation.

I'm basically was stuck at this point because GS stopped working on Android.


To hot fix I've decided just to include COMODO root CA, which you can find here https://support.comodo.com/index.php?/Knowledgebase/Article/View/854/75/root-addtrustexternalcaroot

It's valid for a long time, but eventually would be nice to move to system root certs.


I'm adding a patch file for those in need :)

diff
(3.47 KB)
Login to post a comment