Build failed for arm target platforms

Build failed for arm target platforms
0

Hi

Finally I managed to create working apk for x86 only. Everything works fine.

But build for armeabi-v7a failed. I did not changed anything comparing to x86 build.
Detailed output:

C:/Users/selec/Documents/Projects/CocosPrj/exogame/proj.android/app/jni/Classes/svgdom/elements/ImageElement.hpp:0: error: undefined reference to 'vtable for svgdom::ImageElement'
C:/Users/selec/AppData/Local/Android/Sdk/ndk-bundle/build//../toolchains/llvm/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin\ld: the vtable symbol may be undefined because the class is missing its key function
C:/Users/selec/Documents/Projects/CocosPrj/exogame/proj.android/app/jni/Classes/svgdom/Parser.cpp:232: error: undefined reference to 'svgdom::Transformable::parse(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&)'     
C:/Users/selec/Documents/Projects/CocosPrj/exogame/proj.android/app/jni/Classes/svgdom/Parser.cpp:299: error: undefined reference to 'svgdom::Transformable::parse(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&)'
C:/Users/selec/Documents/Projects/CocosPrj/exogame/proj.android/app/jni/Classes/svgdom/Parser.cpp:315: error: undefined reference to 'svgdom::AspectRatioed::parseAndFillPreserveAspectRatio(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&)'
C:/Users/selec/Documents/Projects/CocosPrj/exogame/proj.android/app/jni/Classes/svgdom/elements/ImageElement.hpp:0: error: undefined reference to 'vtable for svgdom::ImageElement'
C:/Users/selec/AppData/Local/Android/Sdk/ndk-bundle/build//../toolchains/llvm/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin\ld: the vtable symbol may be undefined because the class is missing its key function
C:/Users/selec/Documents/Projects/CocosPrj/exogame/proj.android/app/jni/Classes/svgdom/StreamWriter.cpp:82: error: undefined reference to 'svgdom::Transformable::transformationsToString() const'
C:/Users/selec/Documents/Projects/CocosPrj/exogame/proj.android/app/jni/Classes/svgdom/StreamWriter.cpp:100: error: undefined reference to 'svgdom::AspectRatioed::preserveAspectRatioToString() const'
C:/Users/selec/Documents/Projects/CocosPrj/exogame/proj.android/app/jni/Classes/svgdom/StreamWriter.cpp:142: error: undefined reference to 'svgdom::Transformable::transformationsToString() const'
clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)
make: ***     [C:/Users/selec/Documents/Projects/CocosPrj/exogame/proj.android/app/build/intermediates/ndkBuild/debug/obj/local/armeabi-v7a/libMyGame.so] Error 1

In the upper messages it could be noticed:

  1. "undefined reference to ‘vtable for svgdom::ImageElement’ "
  2. " the vtable symbol may be undefined because the class is missing its key function"

So, I suppose the problem might be multiple inheritance here in ImageElement.hxx file:

#pragma once

#include "Element.hpp"
#include "Styleable.hpp"
#include "Transformable.hpp"
#include "Rectangle.hpp"
#include "Referencing.hpp"
#include "AspectRatioed.hpp"

namespace svgdom {
  struct ImageElement :
	public Element,
	public Styleable,
	public Transformable,
	public Rectangle,
	public Referencing,
	public AspectRatioed
   {
      void accept(Visitor& visitor) override;
      void accept(ConstVisitor& visitor) const override;
   };
}

Is there any additional steps to take in order to build my project for armeabi-v7a?