NDK Link error

Options
bamboo
edited March 2015 in Native
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

Comments

  • Kaiserludi
    Options
    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)?
  • bamboo
    Options
    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.