Photon Android SDK can support build android 64-bit

I have a question, please help me.
I can't build android 64bit with phonton android sdk. Where can I download phonton android sdk support build 64-bit for coccos2dx? How can I fix it to build android 64bit?
and I receive error:
PhotonSDK_Android/Common-cpp/inc/Helpers/ConfirmAllowed.h:27:5: note: in expansion of macro 'COMPILE_TIME_ASSERT_TRUE_MSG'
COMPILE_TIME_ASSERT_TRUE_MSG((IsDerivedFrom >::Is), ERROR_UNSUPPORTED_VALUE_TYPE);

Comments

  • Hi @nesvn030.

    I have moved your question into the correct subforum. C++ client questions should be posted in the "native" subforum, not in the ".NET" subforum, which is about the C# client.


    Where can I download phonton android sdk support build 64-bit for coccos2dx? How can I fix it to build android 64bit?

    There is no separate download for 64bit Android. 64 bit builds of the Photon libraries are part of the regular AndroidNDK Client SDK.


    I can't build android 64bit with phonton android sdk.

    What error message do you get?


    and I receive error:
    PhotonSDK_Android/Common-cpp/inc/Helpers/ConfirmAllowed.h:27:5: note: in expansion of macro 'COMPILE_TIME_ASSERT_TRUE_MSG'
    COMPILE_TIME_ASSERT_TRUE_MSG((IsDerivedFrom >::Is), ERROR_UNSUPPORTED_VALUE_TYPE);

    This error means that you try to pass a type as payload of a message to the Photon APIs (usually in a call to opRaiseEvent()), that is not supported by photons serialization, or that you try to put such a type as value into a Dictionary or Hashtable instance. Please see https://doc-api.photonengine.com/en/cpp/current/html/a05589.html for a list of supported types.
  • nesvn030
    nesvn030
    edited June 2019
    Thanks for your reply.
    I am using cocos2dx and photon android sdk.
    Before that, I have successfully built with 32bit android version: armeabi-v7a.
    After google requested the 64bit update: arm64-v8a, I failed when I tried to build it and I received an error from the photon C ++:


    ConfirmAllowed.h: In instantiation of 'const nByte ExitGames::Common::Helpers::ConfirmAllowed::customTypeName':
    PhotonSDK_Android/Common-cpp/inc/ValueObject.h:120:204: required from 'ExitGames::Common::ValueObject::ValueObject(const typename ExitGames::Common::Helpers::ConfirmAllowed::type&) [with Etype = long int; typename ExitGames::Common::Helpers::ConfirmAllowed::type = long int]'
    PhotonSDK_Android/Common-cpp/inc/Helpers/ValueToObject.h:42:36: required from 'static ExitGames::Common::Object ExitGames::Common::Helpers::ValueToObject::get(Ftype) [with Ftype = long int]'
  • Kaiserludi
    Kaiserludi admin
    edited June 2019
    Hi @nesvn030.

    The error message shows that you are trying to send a long with Photon. As you can see on the doc page that I have linked in my previous post, long does not belong to the supported data types.

    In general I would strongly advise against using the data type long whenever possible.
    The reason for that is that the size of a long differs between platforms: a long is 32bit on 32bit platforms, 64bit on 64bit Unix (Android is an Unix system) and Unix-like systems like OS X, which use the LP64 data model, and again 32bit on 64bit Windows, which uses the LLP64 data model (http://en.wikipedia.org/wiki/64-bit_computing#64-bit_data_models).
    Hence code that uses type long behaves differently on 64bit Unixes than on 32bit Unixes.

    You should use an int when you need a 32bit integer and a long long when you need a 64bit integer.
    Both are supported by Photons serialization protocol.
  • I understood its problem. thank you.