NDK Link error
Options
I'm trying to integrate "Photon-AndroidNDK-Sdk_v4-0-0-7" into our game. Getting these link errors. Am I supposed to implement SerializerImplementation and DeserializerImplementation? Trying to link using 'photon-cpp-static_debug_android_armeabi-v7a.a'. Thanks.
00:02:07 jni/../src/Internal/PeerBase.cpp:390: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::SerializerImplementation()'
00:02:07 jni/../src/Internal/PeerBase.cpp:399: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::pushObject(ExitGames::Common::Object const*, bool)'
00:02:07 jni/../src/Internal/PeerBase.cpp:399: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::pushObject(ExitGames::Common::Object const*, bool)'
00:02:07 jni/../src/Internal/PeerBase.cpp:408: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::getData() const'
00:02:07 jni/../src/Internal/PeerBase.cpp:408: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::getDataOffset() const'
00:02:07 jni/../src/Internal/PeerBase.cpp:412: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::getDataOffset() const'
00:02:07 jni/../src/Internal/PeerBase.cpp:427: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::getData() const'
00:02:07 jni/../src/Internal/PeerBase.cpp:427: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::getDataOffset() const'
00:02:07 jni/../src/Internal/PeerBase.cpp:432: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::~SerializerImplementation()'
00:02:07 jni/../src/Internal/PeerBase.cpp:493: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::DeSerializerImplementation(unsigned char const*)'
00:02:07 jni/../src/Internal/PeerBase.cpp:495: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::readByte()'
00:02:07 jni/../src/Internal/PeerBase.cpp:496: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::readShort()'
00:02:07 jni/../src/Internal/PeerBase.cpp:498: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::readByte()'
00:02:07 jni/../src/Internal/PeerBase.cpp:500: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::popType(unsigned char, ExitGames::Common::Object&)'
00:02:07 jni/../src/Internal/PeerBase.cpp:502: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::readShort()'
00:02:07 jni/../src/Internal/PeerBase.cpp:506: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::readByte()'
00:02:07 jni/../src/Internal/PeerBase.cpp:508: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::pop(ExitGames::Common::Object&)'
00:02:07 ../Common-cpp/inc/Helpers/DeSerializerImplementation.h:25: error: undefined reference to 'vtable for ExitGames::Common::Helpers::DeSerializerImplementation'
00:02:07 c:/android/android-ndk/toolchains/arm-linux-androideabi-4.8/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld.exe: the vtable symbol may be undefined because the class is missing its key function
00:02:07 jni/../src/Internal/PeerBase.cpp:563: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::DeSerializerImplementation(unsigned char const*)'
00:02:07 jni/../src/Internal/PeerBase.cpp:564: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::readByte()'
00:02:07 jni/../src/Internal/PeerBase.cpp:565: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::readShort()'
00:02:07 jni/../src/Internal/PeerBase.cpp:570: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::popByte(ExitGames::Common::Object&)'
00:02:07 jni/../src/Internal/PeerBase.cpp:571: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::pop(ExitGames::Common::Object&)'
00:02:07 ../Common-cpp/inc/Helpers/SerializerImplementation.h:81: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::extendInternalBuffer(int)'
00:02:07 ../Common-cpp/inc/Helpers/SerializerImplementation.h:81: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::extendInternalBuffer(int)'
00:02:07 ../Common-cpp/inc/Helpers/SerializerImplementation.h:90: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::writeInvertedData(void const*, int)'
00:02:07 ../Common-cpp/inc/Helpers/SerializerImplementation.h:90: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::writeInvertedData(void const*, int)'
00:02:07 jni/../src/Internal/PhotonConnect.cpp:240: error: undefined reference to 'ExitGames::Common::Helpers::Thread::create(void (*)(void*), void*)'
00:02:07 collect2.exe: error: ld returned 1 exit status
00:02:07 jni/../src/Internal/PeerBase.cpp:390: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::SerializerImplementation()'
00:02:07 jni/../src/Internal/PeerBase.cpp:399: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::pushObject(ExitGames::Common::Object const*, bool)'
00:02:07 jni/../src/Internal/PeerBase.cpp:399: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::pushObject(ExitGames::Common::Object const*, bool)'
00:02:07 jni/../src/Internal/PeerBase.cpp:408: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::getData() const'
00:02:07 jni/../src/Internal/PeerBase.cpp:408: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::getDataOffset() const'
00:02:07 jni/../src/Internal/PeerBase.cpp:412: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::getDataOffset() const'
00:02:07 jni/../src/Internal/PeerBase.cpp:427: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::getData() const'
00:02:07 jni/../src/Internal/PeerBase.cpp:427: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::getDataOffset() const'
00:02:07 jni/../src/Internal/PeerBase.cpp:432: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::~SerializerImplementation()'
00:02:07 jni/../src/Internal/PeerBase.cpp:493: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::DeSerializerImplementation(unsigned char const*)'
00:02:07 jni/../src/Internal/PeerBase.cpp:495: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::readByte()'
00:02:07 jni/../src/Internal/PeerBase.cpp:496: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::readShort()'
00:02:07 jni/../src/Internal/PeerBase.cpp:498: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::readByte()'
00:02:07 jni/../src/Internal/PeerBase.cpp:500: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::popType(unsigned char, ExitGames::Common::Object&)'
00:02:07 jni/../src/Internal/PeerBase.cpp:502: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::readShort()'
00:02:07 jni/../src/Internal/PeerBase.cpp:506: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::readByte()'
00:02:07 jni/../src/Internal/PeerBase.cpp:508: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::pop(ExitGames::Common::Object&)'
00:02:07 ../Common-cpp/inc/Helpers/DeSerializerImplementation.h:25: error: undefined reference to 'vtable for ExitGames::Common::Helpers::DeSerializerImplementation'
00:02:07 c:/android/android-ndk/toolchains/arm-linux-androideabi-4.8/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld.exe: the vtable symbol may be undefined because the class is missing its key function
00:02:07 jni/../src/Internal/PeerBase.cpp:563: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::DeSerializerImplementation(unsigned char const*)'
00:02:07 jni/../src/Internal/PeerBase.cpp:564: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::readByte()'
00:02:07 jni/../src/Internal/PeerBase.cpp:565: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::readShort()'
00:02:07 jni/../src/Internal/PeerBase.cpp:570: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::popByte(ExitGames::Common::Object&)'
00:02:07 jni/../src/Internal/PeerBase.cpp:571: error: undefined reference to 'ExitGames::Common::Helpers::DeSerializerImplementation::pop(ExitGames::Common::Object&)'
00:02:07 ../Common-cpp/inc/Helpers/SerializerImplementation.h:81: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::extendInternalBuffer(int)'
00:02:07 ../Common-cpp/inc/Helpers/SerializerImplementation.h:81: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::extendInternalBuffer(int)'
00:02:07 ../Common-cpp/inc/Helpers/SerializerImplementation.h:90: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::writeInvertedData(void const*, int)'
00:02:07 ../Common-cpp/inc/Helpers/SerializerImplementation.h:90: error: undefined reference to 'ExitGames::Common::Helpers::SerializerImplementation::writeInvertedData(void const*, int)'
00:02:07 jni/../src/Internal/PhotonConnect.cpp:240: error: undefined reference to 'ExitGames::Common::Helpers::Thread::create(void (*)(void*), void*)'
00:02:07 collect2.exe: error: ld returned 1 exit status
0
Comments
-
Hi bamboo.
No, you are not supposed to replace those classes. They are part of the .a files.
Can you reproduce this with one of the demos from the SDK?
Do you have any additional information about what you are doing?
Does it work for you with the Photon Client SDKs for Windows or iOS (which you are also using as I can see in your forum user profile)?0 -
Ok good to know thanks I'll keep trying. We use custom pipelines so perhaps its a settings error. We are using VS 2008 for Windows which I know is not supported, we are upgrading to 2013 so no news on that front. Will be trying to compile iOS.0