ShinobiCharts deployment target 6.0 compilation error


#1

Hello!

I’m getting the following error when I try to compile for iOs 6.0 (It’s ok with iOS 7.1). See below.

(UPDATED) Some clarification: I use -all_load -ObjC flag. Without them it works fine but my library requires to use such flags.

Could you help me how to solve it?

Undefined symbols for architecture armv7s:

  "typeinfo for std:: __1::__ shared_weak_count", referenced from:
      typeinfo for std:: __1::__ shared_ptr_pointer<SChartGL::GLVertex3D*, void (*)(void*), std::__1::allocator<SChartGL::GLVertex3D> > in ShinobiCharts(ShinobiCharts)
      typeinfo for std:: __1::__ shared_ptr_pointer<SChartGL::SeriesHandle const*, std:: __1::default_delete<SChartGL::SeriesHandle const>, std::__ 1::allocator<SChartGL::SeriesHandle const> > in ShinobiCharts(ShinobiCharts)
      typeinfo for std:: __1::__ shared_ptr_pointer<SChartGL::GLVertex3DWithWidth*, void (*)(void*), std::__1::allocator<SChartGL::GLVertex3DWithWidth> > in ShinobiCharts(ShinobiCharts)
      typeinfo for std:: __1::__ shared_ptr_pointer<SChartGL::GLVertex3DWithTexture*, void (*)(void*), std::__1::allocator<SChartGL::GLVertex3DWithTexture> > in ShinobiCharts(ShinobiCharts)
      typeinfo for std:: __1::__ shared_ptr_pointer<SChartGL::SeriesHandle*, std:: __1::default_delete<SChartGL::SeriesHandle>, std::__ 1::allocator<SChartGL::SeriesHandle> > in ShinobiCharts(ShinobiCharts)
      typeinfo for std:: __1::__ shared_ptr_pointer<SChartGL::ErrorHandlerHandle const*, std:: __1::default_delete<SChartGL::ErrorHandlerHandle const>, std::__ 1::allocator<SChartGL::ErrorHandlerHandle const> > in ShinobiCharts(ShinobiCharts)
      typeinfo for std:: __1::__ shared_ptr_pointer<SChartGL::VboData*, std:: __1::default_delete<SChartGL::VboData>, std::__ 1::allocator<SChartGL::VboData> > in ShinobiCharts(ShinobiCharts)
      ...
  "std:: __1::basic_streambuf<char, std::__ 1::char_traits<char> >::imbue(std::__1::locale const&)", referenced from:
      vtable for std:: __1::basic_stringbuf<char, std::__ 1::char_traits<char>, std::__1::allocator<char> > in ShinobiCharts(ShinobiCharts)
  "std:: __1::basic_streambuf<char, std::__ 1::char_traits<char> >::setbuf(char*, int)", referenced from:
      vtable for std:: __1::basic_stringbuf<char, std::__ 1::char_traits<char>, std::__1::allocator<char> > in ShinobiCharts(ShinobiCharts)
  "std:: __1::basic_ostream<char, std::__ 1::char_traits<char> >::~basic_ostream()", referenced from:
      construction vtable for std:: __1::basic_ostream<char, std::__ 1::char_traits<char> >-in-std:: __1::basic_ostringstream<char, std::__ 1::char_traits<char>, std::__1::allocator<char> > in ShinobiCharts(ShinobiCharts)
  "vtable for std:: __1::__ shared_weak_count", referenced from:
      std::__1::shared_ptr<SChartGL::GLVertex3D>::shared_ptr<SChartGL::GLVertex3D, void (*)(void*), void>(SChartGL::GLVertex3D*, void (*)(void*)) in ShinobiCharts(ShinobiCharts)
      std::__1::shared_ptr<SChartGL::SeriesHandle const>::shared_ptr<SChartGL::SeriesHandle const, void>(SChartGL::SeriesHandle const*) in ShinobiCharts(ShinobiCharts)
      std::__1::shared_ptr<SChartGL::GLVertex3DWithWidth>::shared_ptr<SChartGL::GLVertex3DWithWidth, void (*)(void*), void>(SChartGL::GLVertex3DWithWidth*, void (*)(void*)) in ShinobiCharts(ShinobiCharts)
      std::__1::shared_ptr<SChartGL::GLVertex3DWithTexture>::shared_ptr<SChartGL::GLVertex3DWithTexture, void (*)(void*), void>(SChartGL::GLVertex3DWithTexture*, void (*)(void*)) in ShinobiCharts(ShinobiCharts)
      std::__1::shared_ptr<SChartGL::SeriesHandle const>::shared_ptr<SChartGL::SeriesHandle, void>(SChartGL::SeriesHandle*) in ShinobiCharts(ShinobiCharts)
      std::__1::shared_ptr<SChartGL::ErrorHandlerHandle const>::shared_ptr<SChartGL::ErrorHandlerHandle const, void>(SChartGL::ErrorHandlerHandle const*) in ShinobiCharts(ShinobiCharts)
      std::__1::shared_ptr<SChartGL::VboData>::shared_ptr<SChartGL::VboData, void>(SChartGL::VboData*) in ShinobiCharts(ShinobiCharts)
      ...

  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.

#2

Hi saleksandrov,

This looks like you’re just missing the libc++ dylib from your “link with libraries” part of your build - adding this should do the trick.

Hope this helps!

Rob