Photon Android SDK can support build android 64-bit
Options
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);
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);
0
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.0 -
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]'0 -
Hi @nesvn030.
The error message shows that you are trying to send along
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 typelong
whenever possible.
The reason for that is that the size of along
differs between platforms: along
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 typelong
behaves differently on 64bit Unixes than on 32bit Unixes.
You should use anint
when you need a 32bit integer and along long
when you need a 64bit integer.
Both are supported by Photons serialization protocol.0 -
I understood its problem. thank you.0