Ogre V1.9 and iOS 7 Linker Error

Discussion of issues specific to mobile platforms such as iOS, Android, Symbian and Meego.
Post Reply
Carlyone
Kobold
Posts: 38
Joined: Thu Jul 05, 2012 3:51 pm

Ogre V1.9 and iOS 7 Linker Error

Post by Carlyone » Wed Sep 18, 2013 8:54 am

Hello,
I am just looking into upgrading our iOS application to iOS7 and have encountered some linker errors.
I had a look on the forums but there doesn't seem to be any topics with any iOS issues. I'm not sure if it's something in my build or whether iOS7 needs it's own dependencies.

Currently only working on armv7 and armv7s, not trying the 64bit architectures yet.

Error below, start part and end part:

Start part

Code: Select all

Undefined symbols for architecture armv7:
  "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, unsigned long, std::allocator<char> const&)", referenced from:
      Ogre::GLSLESProgram::loadFromSource() in libRenderSystem_GLES2Static.a(OgreGLSLESProgram.o)
  "std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)", referenced from:
      Ogre::GLES2Support::initialiseExtensions() in libRenderSystem_GLES2Static.a(OgreGLES2Support.o)
  "std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_Rep::_S_empty_rep_storage", referenced from:
      Ogre::UTFString::_cleanBuffer() const in libOgreMainStatic.a(OgreUTFString.o)
  "std::runtime_error::runtime_error(std::string const&)", referenced from:
      Ogre::UTFString::_verifyUTF8(std::string const&) in libOgreMainStatic.a(OgreUTFString.o)
      Ogre::UTFString::_utf8_char_length(unsigned char) in libOgreMainStatic.a(OgreUTFString.o)
      Ogre::UTFString::_utf8_to_utf32(unsigned char const*, unsigned int&) in libOgreMainStatic.a(OgreUTFString.o)
      Ogre::UTFString::_utf8_char_length(unsigned int) in libOgreMainStatic.a(OgreUTFString.o)
  "std::string::swap(std::string&)", referenced from:


End part

Code: Select all

DemoApp::startDemo() in OgreDemoApp.o
      ShaderGeneratorTechniqueResolverListener::handleSchemeNotFound(unsigned short, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Ogre::Material*, unsigned short, Ogre::Renderable const*) in OgreDemoApp.o
      Gorilla::TextureAtlas::_loadTexture(std::__1::multimap<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, Ogre::STLAllocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, Ogre::CategorisedAllocPolicy<(Ogre::MemoryCategory)0> > >*) in Gorilla.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Showing first 200 notices only
I can post more of the linker error but it's longer than the forums allows a post to be.

Ogre 1.9 works fine on iOS 6.1.

Any help with this would be greatly appreciated, even if it is a simple change I've missed.

Carl
0 x

User avatar
masterfalcon
OGRE Team Member
OGRE Team Member
Posts: 4270
Joined: Sun Feb 25, 2007 4:56 am
Location: Bloomington, MN
Contact:

Re: Ogre V1.9 and iOS 7 Linker Error

Post by masterfalcon » Wed Sep 18, 2013 1:11 pm

This will be fixed very soon. Just working out all the kinks.
0 x

Carlyone
Kobold
Posts: 38
Joined: Thu Jul 05, 2012 3:51 pm

Re: Ogre V1.9 and iOS 7 Linker Error

Post by Carlyone » Wed Sep 18, 2013 1:16 pm

Music to my eyes.

Will keep an look out for the update.

Thanks

Carl
0 x

Carlyone
Kobold
Posts: 38
Joined: Thu Jul 05, 2012 3:51 pm

Re: Ogre V1.9 and iOS 7 Linker Error

Post by Carlyone » Thu Oct 24, 2013 10:15 am

Hi,
I checked out the V1-9RC2 branch of Ogre and downloaded the iOS7 Dependencies but seem to be having trouble getting the Ogre Xcode project to build.

I followed the building ogre from source for iPhone using the cmake command.

Code: Select all

cmake -D OGRE_BUILD_PLATFORM_APPLE_IOS=1 -G Xcode ..
Below is the linker error I am getting, any help would be greatly appreciated, even if it's something silly I'm doing.
Looks like a linker error in FreeImage.

Code: Select all

ld: warning: directory not found for option '-L/Users/Carl/ogre/iOSDependencies/lib/Debug-iphoneos'
Undefined symbols for architecture armv7:
  "std::bad_alloc::bad_alloc()", referenced from:
      psdParser::ReadImageData(FreeImageIO*, void*) in libFreeImage.a(PSDParser.o)
  "std::__1::__basic_string_common<true>::__throw_length_error() const", referenced from:
      std::__1::enable_if<__is_forward_iterator<char*>::value, void>::type std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init<char*>(char*, char*) in libFreeImage.a(ImfHeader.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      Iex::BaseExc::BaseExc(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libFreeImage.a(IexBaseExc.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::replace(unsigned long, unsigned long, char const*, unsigned long)", referenced from:
      Iex::throwErrnoExc(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in libFreeImage.a(IexThrowErrnoExc.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(unsigned long, char)", referenced from:
      Load(FreeImageIO*, void*, int, int, void*) in libFreeImage.a(PluginGIF.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::reserve(unsigned long)", referenced from:
      StringTable::Decompress(unsigned char*, int*) in libFreeImage.a(PluginGIF.o)
      Iex::BaseExc::assign(std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) in libFreeImage.a(IexBaseExc.o)
  "std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()", referenced from:
      construction vtable for std::__1::basic_istream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libFreeImage.a(PluginEXR.o)
  "non-virtual thunk to std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()", referenced from:
      construction vtable for std::__1::basic_istream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libFreeImage.a(PluginEXR.o)
  "non-virtual thunk to std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()", referenced from:
      construction vtable for std::__1::basic_istream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libFreeImage.a(PluginEXR.o)
  "std::__1::basic_iostream<char, std::__1::char_traits<char> >::~basic_iostream()", referenced from:
      construction vtable for std::__1::basic_iostream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libFreeImage.a(PluginEXR.o)
  "non-virtual thunk to std::__1::basic_iostream<char, std::__1::char_traits<char> >::~basic_iostream()", referenced from:
      construction vtable for std::__1::basic_iostream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libFreeImage.a(PluginEXR.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::xsgetn(char*, int)", referenced from:
      vtable for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libOIS.a(OISInputManager.o)
  "non-virtual thunk to 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 libOIS.a(OISInputManager.o)
      construction vtable for std::__1::basic_ostream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libFreeImage.a(PluginEXR.o)
  "typeinfo for std::__1::basic_iostream<char, std::__1::char_traits<char> >", referenced from:
      typeinfo for std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libFreeImage.a(PluginEXR.o)
      construction vtable for std::__1::basic_iostream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libFreeImage.a(PluginEXR.o)
  "std::__1::basic_iostream<char, std::__1::char_traits<char> >::~basic_iostream()", referenced from:
      construction vtable for std::__1::basic_iostream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libFreeImage.a(PluginEXR.o)
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::sentry(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)", referenced from:
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libFreeImage.a(PluginEXR.o)
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) in libFreeImage.a(ImfHeader.o)
  "non-virtual thunk to std::__1::basic_iostream<char, std::__1::char_traits<char> >::~basic_iostream()", referenced from:
      construction vtable for std::__1::basic_iostream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libFreeImage.a(PluginEXR.o)
  "std::__1::locale::~locale()", referenced from:
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libFreeImage.a(PluginEXR.o)
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) in libFreeImage.a(ImfHeader.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long, unsigned long)", referenced from:
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > std::__1::operator+<char, std::__1::char_traits<char>, std::__1::allocator<char> >(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libFreeImage.a(PluginEXR.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > std::__1::operator+<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char) in libFreeImage.a(PluginGIF.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > std::__1::operator+<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*) in libFreeImage.a(ImfRgbaFile.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(char const*)", referenced from:
      Load(FreeImageIO*, void*, int, int, void*) in libFreeImage.a(PluginEXR.o)
      _read_iptc_profile in libFreeImage.a(IPTC.o)
  "std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()", referenced from:
      construction vtable for std::__1::basic_istream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libFreeImage.a(PluginEXR.o)
  "std::__1::ios_base::clear(unsigned int)", referenced from:
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libFreeImage.a(PluginEXR.o)
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) in libFreeImage.a(ImfHeader.o)
      Imf::StdOSStream::seekp(unsigned long long) in libFreeImage.a(ImfStdIO.o)
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::~sentry()", referenced from:
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libFreeImage.a(PluginEXR.o)
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) in libFreeImage.a(ImfHeader.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::basic_streambuf()", referenced from:
      Load(FreeImageIO*, void*, int, int, void*) in libFreeImage.a(PluginEXR.o)
      Save(FreeImageIO*, FIBITMAP*, void*, int, int, void*) in libFreeImage.a(PluginEXR.o)
      SaveAsEXR_LC(C_OStream&, FIBITMAP*, Imf::Header&, int, int) in libFreeImage.a(PluginEXR.o)
      Imf::OutputFile::OutputFile(Imf::OStream&, Imf::Header const&, int) in libFreeImage.a(ImfOutputFile.o)
      Imf::OutputFile::setFrameBuffer(Imf::FrameBuffer const&) in libFreeImage.a(ImfOutputFile.o)
      Imf::OutputFile::writePixels(int) in libFreeImage.a(ImfOutputFile.o)
      Imf::ChannelList::insert(char const*, Imf::Channel const&) in libFreeImage.a(ImfChannelList.o)
      ...
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::sync()", referenced from:
      vtable for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libOIS.a(OISInputManager.o)
  "std::__1::basic_iostream<char, std::__1::char_traits<char> >::~basic_iostream()", referenced from:
      Load(FreeImageIO*, void*, int, int, void*) in libFreeImage.a(PluginEXR.o)
      Save(FreeImageIO*, FIBITMAP*, void*, int, int, void*) in libFreeImage.a(PluginEXR.o)
      SaveAsEXR_LC(C_OStream&, FIBITMAP*, Imf::Header&, int, int) in libFreeImage.a(PluginEXR.o)
      Imf::OutputFile::OutputFile(Imf::OStream&, Imf::Header const&, int) in libFreeImage.a(ImfOutputFile.o)
      Imf::OutputFile::setFrameBuffer(Imf::FrameBuffer const&) in libFreeImage.a(ImfOutputFile.o)
      Imf::OutputFile::writePixels(int) in libFreeImage.a(ImfOutputFile.o)
      Imf::ChannelList::insert(char const*, Imf::Channel const&) in libFreeImage.a(ImfChannelList.o)
      ...
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::find(char const*, unsigned long, unsigned long) const", referenced from:
      Iex::throwErrnoExc(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in libFreeImage.a(IexThrowErrnoExc.o)
      _write_iptc_profile in libFreeImage.a(IPTC.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::push_back(char)", referenced from:
      std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::overflow(int) in libOIS.a(OISInputManager.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > std::__1::operator+<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char) in libFreeImage.a(PluginGIF.o)
      ReadString(FreeImageIO*, void*) in libFreeImage.a(PluginXPM.o)
  "non-virtual thunk to std::__1::basic_iostream<char, std::__1::char_traits<char> >::~basic_iostream()", referenced from:
      construction vtable for std::__1::basic_iostream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libFreeImage.a(PluginEXR.o)
  "std::__1::basic_ios<char, std::__1::char_traits<char> >::~basic_ios()", referenced from:
      Load(FreeImageIO*, void*, int, int, void*) in libFreeImage.a(PluginEXR.o)
      Save(FreeImageIO*, FIBITMAP*, void*, int, int, void*) in libFreeImage.a(PluginEXR.o)
      SaveAsEXR_LC(C_OStream&, FIBITMAP*, Imf::Header&, int, int) in libFreeImage.a(PluginEXR.o)
      std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_stringstream() in libFreeImage.a(PluginEXR.o)
      Imf::OutputFile::OutputFile(Imf::OStream&, Imf::Header const&, int) in libFreeImage.a(ImfOutputFile.o)
      Imf::OutputFile::setFrameBuffer(Imf::FrameBuffer const&) in libFreeImage.a(ImfOutputFile.o)
      Imf::OutputFile::writePixels(int) in libFreeImage.a(ImfOutputFile.o)
      ...
  "std::__1::locale::use_facet(std::__1::locale::id&) const", referenced from:
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libFreeImage.a(PluginEXR.o)
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) in libFreeImage.a(ImfHeader.o)
  "std::__1::__vector_base_common<true>::__throw_length_error() const", referenced from:
      void std::__1::vector<OIS::MultiTouchState, std::__1::allocator<OIS::MultiTouchState> >::__push_back_slow_path<OIS::MultiTouchState const&>(OIS::MultiTouchState const&&&) in libOIS.a(iPhoneMultiTouch.o)
      void std::__1::vector<PageInfo, std::__1::allocator<PageInfo> >::__push_back_slow_path<PageInfo>(PageInfo&&) in libFreeImage.a(PluginGIF.o)
      void std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >::__push_back_slow_path<unsigned long const&>(unsigned long const&&&) in libFreeImage.a(PluginGIF.o)
      void std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >::__push_back_slow_path<unsigned long>(unsigned long&&) in libFreeImage.a(PluginGIF.o)
      void std::__1::vector<FIBITMAP*, std::__1::allocator<FIBITMAP*> >::__push_back_slow_path<FIBITMAP* const&>(FIBITMAP* const&&&) in libFreeImage.a(PluginICO.o)
      std::__1::enable_if<__is_forward_iterator<Imf::(anonymous namespace)::OutSliceInfo*>::value, void>::type std::__1::vector<Imf::(anonymous namespace)::OutSliceInfo, std::__1::allocator<Imf::(anonymous namespace)::OutSliceInfo> >::assign<Imf::(anonymous namespace)::OutSliceInfo*>(Imf::(anonymous namespace)::OutSliceInfo*, Imf::(anonymous namespace)::OutSliceInfo*) in libFreeImage.a(ImfOutputFile.o)
      std::__1::vector<Imf::(anonymous namespace)::OutSliceInfo, std::__1::allocator<Imf::(anonymous namespace)::OutSliceInfo> >::allocate(unsigned long) in libFreeImage.a(ImfOutputFile.o)
      ...
  "typeinfo for std::__1::basic_ostream<char, std::__1::char_traits<char> >", referenced from:
      typeinfo for std::__1::basic_ostringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libOIS.a(OISInputManager.o)
      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 libOIS.a(OISInputManager.o)
      construction vtable for std::__1::basic_ostream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libFreeImage.a(PluginEXR.o)
  "vtable for std::__1::basic_ios<char, std::__1::char_traits<char> >", referenced from:
      Load(FreeImageIO*, void*, int, int, void*) in libFreeImage.a(PluginEXR.o)
      Save(FreeImageIO*, FIBITMAP*, void*, int, int, void*) in libFreeImage.a(PluginEXR.o)
      SaveAsEXR_LC(C_OStream&, FIBITMAP*, Imf::Header&, int, int) in libFreeImage.a(PluginEXR.o)
      Imf::OutputFile::OutputFile(Imf::OStream&, Imf::Header const&, int) in libFreeImage.a(ImfOutputFile.o)
      Imf::OutputFile::setFrameBuffer(Imf::FrameBuffer const&) in libFreeImage.a(ImfOutputFile.o)
      Imf::OutputFile::writePixels(int) in libFreeImage.a(ImfOutputFile.o)
      Imf::ChannelList::insert(char const*, Imf::Channel const&) in libFreeImage.a(ImfChannelList.o)
      ...
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      _FreeImage_Clone in libFreeImage.a(BitmapAccess.o)
      _FreeImage_CloneMetadata in libFreeImage.a(BitmapAccess.o)
      std::__1::enable_if<is_constructible<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>::value, std::__1::unique_ptr<std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, FITAG*>, void*>, std::__1::__map_node_destructor<std::__1::allocator<std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, FITAG*>, void*> > > > >::type std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, FITAG*, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, FITAG*> > >::__construct_node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&&&) in libFreeImage.a(BitmapAccess.o)
      std::__1::enable_if<is_constructible<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>::value, std::__1::unique_ptr<std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tagFILE_RGBA>, void*>, std::__1::__map_node_destructor<std::__1::allocator<std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tagFILE_RGBA>, void*> > > > >::type std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tagFILE_RGBA, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, tagFILE_RGBA> > >::__construct_node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&&&) in libFreeImage.a(PluginXPM.o)
      mng_ReadChunks(int, FreeImageIO*, void*, long, int) in libFreeImage.a(MNGHelper.o)
      std::__1::enable_if<is_constructible<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>::value, std::__1::unique_ptr<std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*>, std::__1::__map_node_destructor<std::__1::allocator<std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*> > > > >::type std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::__construct_node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&&&) in libFreeImage.a(MNGHelper.o)
      Iex::throwErrnoExc(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in libFreeImage.a(IexThrowErrnoExc.o)
      ...
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long)", referenced from:
      boost::system::(anonymous namespace)::generic_error_category::message(int) const in libboost_system.a(error_code.o)
      _FreeImage_SetMetadata in libFreeImage.a(BitmapAccess.o)
      _FreeImage_GetMetadata in libFreeImage.a(BitmapAccess.o)
      C_OStream::write(char const*, int) in libFreeImage.a(PluginEXR.o)
      Load(FreeImageIO*, void*, int, int, void*) in libFreeImage.a(PluginXPM.o)
      Save(FreeImageIO*, FIBITMAP*, void*, int, int, void*) in libFreeImage.a(PluginXPM.o)
      Iex::BaseExc::BaseExc(char const*) in libFreeImage.a(IexBaseExc.o)
      ...
  "std::runtime_error::runtime_error(char const*)", referenced from:
      boost::detail::thread_data_base::~thread_data_base() in libboost_thread.a(thread.o)
      _thread_proxy in libboost_thread.a(thread.o)
      boost::thread::join_noexcept() in libboost_thread.a(thread.o)
      boost::this_thread::hiden::sleep_for(timespec const&) in libboost_thread.a(thread.o)
      boost::thread::native_handle() in libboost_thread.a(thread.o)
      boost::this_thread::interruption_point() in libboost_thread.a(thread.o)
      boost::detail::future_object_base::make_ready() in libboost_thread.a(thread.o)
      ...
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()", referenced from:
      Iex::BaseExc::BaseExc(char const*) in libFreeImage.a(IexBaseExc.o)
      Iex::BaseExc::BaseExc(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libFreeImage.a(IexBaseExc.o)
      Iex::BaseExc::BaseExc(std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) in libFreeImage.a(IexBaseExc.o)
      Iex::BaseExc::~BaseExc() in libFreeImage.a(IexBaseExc.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::assign(char const*)", referenced from:
      boost::system::(anonymous namespace)::generic_error_category::message(int) const in libboost_system.a(error_code.o)
      mng_SetMetadata_tEXt(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >&, unsigned char const*, unsigned int) in libFreeImage.a(MNGHelper.o)
      Imf::(anonymous namespace)::LineBufferTask::execute() in libFreeImage.a(ImfOutputFile.o)
      Imf::(anonymous namespace)::TileBufferTask::execute() in libFreeImage.a(ImfTiledInputFile.o)
      Imf::(anonymous namespace)::newLineBufferTask(IlmThread::TaskGroup*, Imf::ScanLineInputFile::Data*, int, int, int) in libFreeImage.a(ImfScanLineInputFile.o)
      Imf::(anonymous namespace)::LineBufferTask::execute() in libFreeImage.a(ImfScanLineInputFile.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::uflow()", referenced from:
      vtable for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libOIS.a(OISInputManager.o)
  "typeinfo for std::__1::basic_istream<char, std::__1::char_traits<char> >", referenced from:
      construction vtable for std::__1::basic_istream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libFreeImage.a(PluginEXR.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(char const*, unsigned long)", referenced from:
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > std::__1::operator+<char, std::__1::char_traits<char>, std::__1::allocator<char> >(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libFreeImage.a(PluginEXR.o)
      Load(FreeImageIO*, void*, int, int, void*) in libFreeImage.a(PluginGIF.o)
      LibRaw_freeimage_datastream::scanf_one(char const*, void*) in libFreeImage.a(PluginRAW.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > std::__1::operator+<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*) in libFreeImage.a(ImfRgbaFile.o)
  "std::bad_alloc::bad_alloc()", referenced from:
      boost::exception_ptr boost::exception_detail::get_static_exception_object<boost::exception_detail::bad_alloc_>() in libboost_thread.a(thread.o)
  "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 libOIS.a(OISInputManager.o)
      construction vtable for std::__1::basic_ostream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libFreeImage.a(PluginEXR.o)
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(unsigned long)", referenced from:
      void Imf::(anonymous namespace)::checkIsNullTerminated<256ul>(char const (&) [256ul], char const*) in libFreeImage.a(ImfHeader.o)
      void Imf::(anonymous namespace)::checkIsNullTerminated<256ul>(char const (&) [256ul], char const*) in libFreeImage.a(ImfChannelListAttribute.o)
  "vtable for std::__1::ios_base", referenced from:
      Load(FreeImageIO*, void*, int, int, void*) in libFreeImage.a(PluginEXR.o)
      Save(FreeImageIO*, FIBITMAP*, void*, int, int, void*) in libFreeImage.a(PluginEXR.o)
      SaveAsEXR_LC(C_OStream&, FIBITMAP*, Imf::Header&, int, int) in libFreeImage.a(PluginEXR.o)
      Imf::OutputFile::OutputFile(Imf::OStream&, Imf::Header const&, int) in libFreeImage.a(ImfOutputFile.o)
      Imf::OutputFile::setFrameBuffer(Imf::FrameBuffer const&) in libFreeImage.a(ImfOutputFile.o)
      Imf::OutputFile::writePixels(int) in libFreeImage.a(ImfOutputFile.o)
      Imf::ChannelList::insert(char const*, Imf::Channel const&) in libFreeImage.a(ImfChannelList.o)
      ...
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "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 libOIS.a(OISInputManager.o)
  "typeinfo for std::__1::basic_streambuf<char, std::__1::char_traits<char> >", referenced from:
      typeinfo for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libOIS.a(OISInputManager.o)
  "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 libOIS.a(OISInputManager.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long, unsigned long, std::__1::allocator<char> const&)", referenced from:
      _write_iptc_profile in libFreeImage.a(IPTC.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::~basic_streambuf()", referenced from:
      std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_stringbuf() in libOIS.a(OISInputManager.o)
      Load(FreeImageIO*, void*, int, int, void*) in libFreeImage.a(PluginEXR.o)
      Save(FreeImageIO*, FIBITMAP*, void*, int, int, void*) in libFreeImage.a(PluginEXR.o)
      SaveAsEXR_LC(C_OStream&, FIBITMAP*, Imf::Header&, int, int) in libFreeImage.a(PluginEXR.o)
      Imf::OutputFile::OutputFile(Imf::OStream&, Imf::Header const&, int) in libFreeImage.a(ImfOutputFile.o)
      Imf::OutputFile::setFrameBuffer(Imf::FrameBuffer const&) in libFreeImage.a(ImfOutputFile.o)
      Imf::OutputFile::writePixels(int) in libFreeImage.a(ImfOutputFile.o)
      ...
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::xsputn(char const*, int)", referenced from:
      vtable for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libOIS.a(OISInputManager.o)
  "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 libOIS.a(OISInputManager.o)
      construction vtable for std::__1::basic_ostream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libFreeImage.a(PluginEXR.o)
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(int)", referenced from:
      Imf::Header::sanityCheck(bool) const in libFreeImage.a(ImfHeader.o)
      Imf::Header::readFrom(Imf::IStream&, int&) in libFreeImage.a(ImfHeader.o)
      Imf::TiledInputFile::readTiles(int, int, int, int, int, int) in libFreeImage.a(ImfTiledInputFile.o)
      Imf::(anonymous namespace)::readTileData(Imf::TiledInputFile::Data*, int, int, int, int, char*&, int&) in libFreeImage.a(ImfTiledInputFile.o)
      Imf::(anonymous namespace)::readPixelData(Imf::ScanLineInputFile::Data*, int, char*&, int&) in libFreeImage.a(ImfScanLineInputFile.o)
  "std::__1::ios_base::init(void*)", referenced from:
      Load(FreeImageIO*, void*, int, int, void*) in libFreeImage.a(PluginEXR.o)
      Save(FreeImageIO*, FIBITMAP*, void*, int, int, void*) in libFreeImage.a(PluginEXR.o)
      SaveAsEXR_LC(C_OStream&, FIBITMAP*, Imf::Header&, int, int) in libFreeImage.a(PluginEXR.o)
      Imf::OutputFile::OutputFile(Imf::OStream&, Imf::Header const&, int) in libFreeImage.a(ImfOutputFile.o)
      Imf::OutputFile::setFrameBuffer(Imf::FrameBuffer const&) in libFreeImage.a(ImfOutputFile.o)
      Imf::OutputFile::writePixels(int) in libFreeImage.a(ImfOutputFile.o)
      Imf::ChannelList::insert(char const*, Imf::Channel const&) in libFreeImage.a(ImfChannelList.o)
      ...
  "non-virtual thunk to 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 libOIS.a(OISInputManager.o)
      construction vtable for std::__1::basic_ostream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libFreeImage.a(PluginEXR.o)
  "std::__1::ios_base::__set_badbit_and_consider_rethrow()", referenced from:
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libFreeImage.a(PluginEXR.o)
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) in libFreeImage.a(ImfHeader.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::showmanyc()", referenced from:
      vtable for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libOIS.a(OISInputManager.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::operator=(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::str(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libOIS.a(OISInputManager.o)
      Save(FreeImageIO*, FIBITMAP*, void*, int, int, void*) in libFreeImage.a(PluginXPM.o)
      mng_SetMetadata_tEXt(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >&, unsigned char const*, unsigned int) in libFreeImage.a(MNGHelper.o)
      std::__1::enable_if<__is_forward_iterator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*>::value, void>::type std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >::assign<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) in libFreeImage.a(ImfHeader.o)
      Imf::TypedAttribute<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::copyValueFrom(Imf::Attribute const&) in libFreeImage.a(ImfHeader.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::resize(unsigned long, char)", referenced from:
      std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::overflow(int) in libOIS.a(OISInputManager.o)
      std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::str(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libOIS.a(OISInputManager.o)
      StringTable::ClearDecompressorTable() in libFreeImage.a(PluginGIF.o)
      Imf::TypedAttribute<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::readValueFrom(Imf::IStream&, int, int) in libFreeImage.a(ImfStringAttribute.o)
      Imf::TypedAttribute<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::readValueFrom(Imf::IStream&, int, int) in libFreeImage.a(ImfStringVectorAttribute.o)
  "OIS::InputManager::createInputObject(OIS::Type, bool, std::string const&)", referenced from:
      OgreBites::SampleContext::createInputDevices() in SampleBrowser.o
  "std::__1::ctype<char>::id", referenced from:
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libFreeImage.a(PluginEXR.o)
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) in libFreeImage.a(ImfHeader.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()", referenced from:
      std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_stringbuf() in libOIS.a(OISInputManager.o)
      std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~pair() in libOIS.a(OISInputManager.o)
      boost::system::(anonymous namespace)::generic_error_category::message(int) const in libboost_system.a(error_code.o)
      boost::system::(anonymous namespace)::generic_error_category::message(int) const in libboost_system.a(error_code.o)
      boost::detail::thread_data_base::~thread_data_base() in libboost_thread.a(thread.o)
      _thread_proxy in libboost_thread.a(thread.o)
      boost::thread::join_noexcept() in libboost_thread.a(thread.o)
      ...
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::write(char const*, int)", referenced from:
      Imf::StdOSStream::write(char const*, int) in libFreeImage.a(ImfStdIO.o)
  "non-virtual thunk to std::__1::basic_iostream<char, std::__1::char_traits<char> >::~basic_iostream()", referenced from:
      construction vtable for std::__1::basic_iostream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libFreeImage.a(PluginEXR.o)
  "std::__1::ios_base::getloc() const", referenced from:
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libFreeImage.a(PluginEXR.o)
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) in libFreeImage.a(ImfHeader.o)
  "OIS::InputManager::createInputSystem(std::multimap<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > >&)", referenced from:
      OgreBites::SampleContext::setupInput(bool) in SampleBrowser.o
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::~basic_ostream()", referenced from:
      std::__1::basic_ostringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_ostringstream() in libOIS.a(OISInputManager.o)
      Imf::StdOSStream::StdOSStream() in libFreeImage.a(ImfStdIO.o)
ld: symbol(s) not found for architecture armv7
Kind Regards

Carl
0 x

User avatar
masterfalcon
OGRE Team Member
OGRE Team Member
Posts: 4270
Joined: Sun Feb 25, 2007 4:56 am
Location: Bloomington, MN
Contact:

Re: Ogre V1.9 and iOS 7 Linker Error

Post by masterfalcon » Thu Oct 24, 2013 4:55 pm

Make sure that you are using the same standard library and c++ dialect for both your project and Ogre.
0 x

Carlyone
Kobold
Posts: 38
Joined: Thu Jul 05, 2012 3:51 pm

Re: Ogre V1.9 and iOS 7 Linker Error

Post by Carlyone » Fri Oct 25, 2013 10:10 am

At the moment I'm just trying to build the Sample Browser, will get to putting it in my project once that works.

I reviewed the build settings, the SampleBrowser was building for iOS6 so I changed that to 7. The dialects are just the compiler default for everything and I'm just using the Apple LLVM 5.0.

Changing the deployment target did change the linker error.

Code: Select all

Ld build/Samples/Browser/OGRE.build/Debug-iphoneos/SampleBrowser.build/Objects-normal/armv7s/SampleBrowser normal armv7s
    cd /Users/Carl/ogre
    setenv IPHONEOS_DEPLOYMENT_TARGET 7.0
    setenv PATH "/Applications/Xcode 5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode 5.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode\ 5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch armv7s -isysroot /Applications/Xcode\ 5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk -L/Users/Carl/ogre/build/bin/Debug -L/Users/Carl/ogre/iOSDependencies/lib/Debug-iphoneos -L/Users/Carl/ogre/iOSDependencies/lib -F/Users/Carl/ogre/build/bin/Debug -filelist /Users/Carl/ogre/build/Samples/Browser/OGRE.build/Debug-iphoneos/SampleBrowser.build/Objects-normal/armv7s/SampleBrowser.LinkFileList -dead_strip -framework Foundation -framework CoreGraphics -framework QuartzCore -framework UIKit -Wl,-search_paths_first -Wl,-headerpad_max_install_names /Users/Carl/ogre/build/lib/iphoneos/Debug/libOgreMainStatic.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libPlugin_OctreeSceneManagerStatic.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libPlugin_BSPSceneManagerStatic.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libPlugin_ParticleFXStatic.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libPlugin_PCZSceneManagerStatic.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libPlugin_OctreeZoneStatic.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libOgreRTShaderSystemStatic.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libOgreOverlayStatic.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libOgreTerrainStatic.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libOgreVolumeStatic.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libRenderSystem_GLESStatic.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libRenderSystem_GLES2Static.a /Users/Carl/ogre/iOSDependencies/lib/Debug/libOIS.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_BezierPatch.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_CameraTrack.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_Character.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_Compositor.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_DualQuaternion.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_DynTex.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_FacialAnimation.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_Grass.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_Instancing.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_Lighting.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_MeshLod.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_NewInstancing.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_Ocean.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_ParticleFX.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_PNTriangles.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_ShaderSystem.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_ShaderSystemTexturedFog.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_ShaderSystemMultiLight.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_Shadows.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_SkeletalAnimation.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_SkyBox.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_SkyDome.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_SkyPlane.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_Smoke.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_SphereMapping.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_Terrain.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_EndlessWorld.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_Tesselation.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_TextureFX.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_TextureArray.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_Transparency.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_VolumeTex.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_VolumeCSG.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_VolumeTerrain.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_Water.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_BSP.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_CelShading.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_DeferredShading.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_CubeMapping.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_Dot3Bump.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_Fresnel.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_Isosurf.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_ParticleGS.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libSample_SSAO.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libPlugin_OctreeSceneManagerStatic.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libPlugin_BSPSceneManagerStatic.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libPlugin_ParticleFXStatic.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libPlugin_OctreeZoneStatic.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libPlugin_PCZSceneManagerStatic.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libOgreRTShaderSystemStatic.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libOgreOverlayStatic.a /Users/Carl/ogre/iOSDependencies/lib/Debug/libFreeType.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libOgreTerrainStatic.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libOgrePagingStatic.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libOgreVolumeStatic.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libRenderSystem_GLESStatic.a -framework OpenGLES /Users/Carl/ogre/build/lib/iphoneos/Debug/libRenderSystem_GLES2Static.a /Users/Carl/ogre/build/lib/iphoneos/Debug/libOgreMainStatic.a /Users/Carl/ogre/iOSDependencies/lib/Debug/libFreeImage.a /Users/Carl/ogre/iOSDependencies/lib/Debug/libzzip.a /usr/lib/libz.dylib /Users/Carl/ogre/iOSDependencies/lib/libboost_thread.a /Users/Carl/ogre/iOSDependencies/lib/libboost_date_time.a /Users/Carl/ogre/iOSDependencies/lib/libboost_system.a /Users/Carl/ogre/iOSDependencies/lib/libboost_atomic.a /Users/Carl/ogre/iOSDependencies/lib/libboost_chrono.a /Users/Carl/ogre/iOSDependencies/lib/Debug/libOIS.a -fobjc-link-runtime -miphoneos-version-min=7.0 -Xlinker -dependency_info -Xlinker /Users/Carl/ogre/build/Samples/Browser/OGRE.build/Debug-iphoneos/SampleBrowser.build/Objects-normal/armv7s/SampleBrowser_dependency_info.dat -o /Users/Carl/ogre/build/Samples/Browser/OGRE.build/Debug-iphoneos/SampleBrowser.build/Objects-normal/armv7s/SampleBrowser

ld: warning: directory not found for option '-L/Users/Carl/ogre/iOSDependencies/lib/Debug-iphoneos'
Undefined symbols for architecture armv7s:
  "std::string::compare(unsigned long, unsigned long, char const*) const", referenced from:
      Ogre::GLSLESProgramManagerCommon::extractUniforms(unsigned int, std::map<std::string, Ogre::GpuConstantDefinition, std::less<std::string>, Ogre::STLAllocator<std::pair<std::string const, Ogre::GpuConstantDefinition>, Ogre::CategorisedAllocPolicy<(Ogre::MemoryCategory)0> > > const*, std::map<std::string, Ogre::GpuConstantDefinition, std::less<std::string>, Ogre::STLAllocator<std::pair<std::string const, Ogre::GpuConstantDefinition>, Ogre::CategorisedAllocPolicy<(Ogre::MemoryCategory)0> > > const*, std::vector<Ogre::GLUniformReference, Ogre::STLAllocator<Ogre::GLUniformReference, Ogre::CategorisedAllocPolicy<(Ogre::MemoryCategory)0> > >&, std::vector<Ogre::HardwareUniformBufferSharedPtr, Ogre::STLAllocator<Ogre::HardwareUniformBufferSharedPtr, Ogre::CategorisedAllocPolicy<(Ogre::MemoryCategory)0> > >&) in libRenderSystem_GLES2Static.a(OgreGLSLESProgramManagerCommon.o)
  "std::string::insert(unsigned long, char const*)", referenced from:
      Ogre::GLSLESProgram::compile(bool) in libRenderSystem_GLES2Static.a(OgreGLSLESProgram.o)
  "std::basic_ios<char, std::char_traits<char> >::operator void*() const", referenced from:
      Ogre::GLES2Support::initialiseExtensions() in libRenderSystem_GLES2Static.a(OgreGLES2Support.o)
  "std::string::rfind(char const*, unsigned long) const", referenced from:
      Ogre::RTShader::GLSLESProgramWriter::cacheDependencyFunctions(std::string const&) in libOgreRTShaderSystemStatic.a(OgreShaderGLSLESProgramWriter.o)
  "std::cerr", referenced from:
      Ogre::Log::logMessage(std::string const&, Ogre::LogMessageLevel, bool) in libOgreMainStatic.a(OgreLog.o)
      MaterialGenerator::getMaterial(unsigned int) in libSample_DeferredShading.a(MaterialGenerator.o)
  "std::basic_ofstream<char, std::char_traits<char> >::basic_ofstream()", referenced from:
      Ogre::Log::Log(std::string const&, bool, bool) in libOgreMainStatic.a(OgreLog.o)
      ___cxx_global_var_init18 in libPlugin_BSPSceneManagerStatic.a(OgreBspSceneManager.o)
  "std::basic_ofstream<char, std::char_traits<char> >::open(char const*, std::_Ios_Openmode)", referenced from:
      Ogre::Log::Log(std::string const&, bool, bool) in libOgreMainStatic.a(OgreLog.o)
  "std::string::compare(std::string const&) const", referenced from:
      bool std::operator<<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libPlugin_ParticleFXStatic.a(OgreDirectionRandomiserAffector.o)
      bool std::operator!=<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libOgreVolumeStatic.a(OgreVolumeChunk.o)
      bool std::operator><char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libOgreRTShaderSystemStatic.a(OgreShaderFunctionAtom.o)
      bool std::operator==<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libOgreMainStatic.a(OgreSceneNode.o)
  "std::string::find_first_of(char const*, unsigned long) const", referenced from:
      Ogre::MaterialSerializer::quoteWord(std::string const&) in libOgreMainStatic.a(OgreMaterialSerializer.o)
      Ogre::GLSLESProgram::loadFromSource() in libRenderSystem_GLES2Static.a(OgreGLSLESProgram.o)
      Ogre::GLSLESProgramManagerCommon::extractConstantDefs(std::string const&, Ogre::GpuNamedConstants&, std::string const&) in libRenderSystem_GLES2Static.a(OgreGLSLESProgramManagerCommon.o)
  "std::string::find_first_not_of(char const*, unsigned long) const", referenced from:
      Ogre::processManualProgramParam(bool, std::string, std::vector<std::string, Ogre::STLAllocator<std::string, Ogre::CategorisedAllocPolicy<(Ogre::MemoryCategory)0> > >&, Ogre::MaterialScriptContext&, unsigned long, std::string const&) in libOgreMainStatic.a(OgreMaterialSerializer.o)
      Ogre::RTShader::TextureAtlasSamplerFactory::addTexutreAtlasDefinition(Ogre::SharedPtr<Ogre::DataStream>, Ogre::SharedPtr<std::vector<Ogre::RTShader::TextureAtlasRecord, Ogre::STLAllocator<Ogre::RTShader::TextureAtlasRecord, Ogre::CategorisedAllocPolicy<(Ogre::MemoryCategory)0> > > >) in libOgreRTShaderSystemStatic.a(OgreShaderExTextureAtlasSampler.o)
  "std::_List_node_base::swap(std::_List_node_base&, std::_List_node_base&)", referenced from:
      std::list<Ogre::VertexElement, Ogre::STLAllocator<Ogre::VertexElement, Ogre::CategorisedAllocPolicy<(Ogre::MemoryCategory)0> > >::swap(std::list<Ogre::VertexElement, Ogre::STLAllocator<Ogre::VertexElement, Ogre::CategorisedAllocPolicy<(Ogre::MemoryCategory)0> > >&) in libOgreMainStatic.a(OgreHardwareVertexBuffer.o)
  "std::basic_ostream<char, std::char_traits<char> >& std::operator<<<std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)", referenced from:
      GBufferMaterialGeneratorImpl::generateVertexShader(unsigned int) in libSample_DeferredShading.a(GBufferMaterialGenerator.o)
      GBufferMaterialGeneratorImpl::generateFragmentShader(unsigned int) in libSample_DeferredShading.a(GBufferMaterialGenerator.o)
      Ogre::RTShader::CGProgramWriter::writeProgramDependencies(std::ostream&, Ogre::RTShader::Program*) in libOgreRTShaderSystemStatic.a(OgreShaderCGProgramWriter.o)
      Ogre::RTShader::HLSLProgramWriter::writeProgramDependencies(std::ostream&, Ogre::RTShader::Program*) in libOgreRTShaderSystemStatic.a(OgreShaderHLSLProgramWriter.o)
  "std::runtime_error::runtime_error(std::string const&)", referenced from:
      Ogre::UTFString::invalid_data::invalid_data(std::string const&) in libOgreMainStatic.a(OgreUTFString.o)
      boost::system::system_error::system_error(boost::system::error_code, char const*) in libPlugin_ParticleFXStatic.a(OgreDirectionRandomiserAffector.o)
  "std::string::end() const", referenced from:
      Ogre::UTFString::assign(std::string const&) in libOgreMainStatic.a(OgreUTFString.o)
      Ogre::UTFString::_verifyUTF8(std::string const&) in libOgreMainStatic.a(OgreUTFString.o)
  "std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::str(std::string const&)", referenced from:
      Ogre::Technique::checkGPURules(std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >&) in libOgreMainStatic.a(OgreTechnique.o)
  "std::string::reserve(unsigned long)", referenced from:
      std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libOgreMainStatic.a(OgreLight.o)
      Ogre::UTFString::_load_buffer_UTF8() const in libOgreMainStatic.a(OgreUTFString.o)
  "std::string::operator+=(char)", referenced from:
      Ogre::Image::save(std::string const&) in libOgreMainStatic.a(OgreImage.o)
  "std::basic_fstream<char, std::char_traits<char> >::basic_fstream()", referenced from:
      Ogre::Root::createFileStream(std::string const&, std::string const&, bool, std::string const&) in libOgreMainStatic.a(OgreRoot.o)
      Ogre::DeflateStream::init() in libOgreMainStatic.a(OgreDeflate.o)
  "std::basic_fstream<char, std::char_traits<char> >::open(char const*, std::_Ios_Openmode)", referenced from:
      Ogre::Root::createFileStream(std::string const&, std::string const&, bool, std::string const&) in libOgreMainStatic.a(OgreRoot.o)
      Ogre::DeflateStream::init() in libOgreMainStatic.a(OgreDeflate.o)
  "std::basic_ofstream<char, std::char_traits<char> >::close()", referenced from:
      Ogre::Root::saveConfig() in libOgreMainStatic.a(OgreRoot.o)
      Ogre::Log::~Log() in libOgreMainStatic.a(OgreLog.o)
      Ogre::RTShader::ProgramManager::createGpuProgram(Ogre::RTShader::Program*, Ogre::RTShader::ProgramWriter*, std::string const&, std::string const&, std::vector<std::string, Ogre::STLAllocator<std::string, Ogre::CategorisedAllocPolicy<(Ogre::MemoryCategory)0> > > const&, std::string const&) in libOgreRTShaderSystemStatic.a(OgreShaderProgramManager.o)
  "std::string::length() const", referenced from:
      Ogre::ConfigFile::load(Ogre::SharedPtr<Ogre::DataStream> const&, std::string const&, bool) in libOgreMainStatic.a(OgreConfigFile.o)
      Ogre::StringUtil::startsWith(std::string const&, std::string const&, bool) in libOgreMainStatic.a(OgreString.o)
      Ogre::StringUtil::endsWith(std::string const&, std::string const&, bool) in libOgreMainStatic.a(OgreString.o)
      Ogre::FontManager::parseScript(Ogre::SharedPtr<Ogre::DataStream>&, std::string const&) in libOgreOverlayStatic.a(OgreFontManager.o)
      Ogre::OverlayManager::parseScript(Ogre::SharedPtr<Ogre::DataStream>&, std::string const&) in libOgreOverlayStatic.a(OgreOverlayManager.o)
      Ogre::OverlayManager::parseNewElement(Ogre::SharedPtr<Ogre::DataStream>&, std::string&, std::string&, bool, Ogre::Overlay*, bool, std::string, Ogre::OverlayContainer*) in libOgreOverlayStatic.a(OgreOverlayManager.o)
      Ogre::DataStream::getLine(bool) in libOgreMainStatic.a(OgreDataStream.o)
      ...
  "std::string::operator[](unsigned long) const", referenced from:
      Ogre::GpuProgramManager::saveMicrocodeCache(Ogre::SharedPtr<Ogre::DataStream>) const in libOgreMainStatic.a(OgreGpuProgramManager.o)
      Ogre::Image::save(std::string const&) in libOgreMainStatic.a(OgreImage.o)
  "std::string::replace(__gnu_cxx::__normal_iterator<char*, std::string>, __gnu_cxx::__normal_iterator<char*, std::string>, char const*)", referenced from:
      Ogre::RTShader::GLSLProgramWriter::writeSourceCode(std::ostream&, Ogre::RTShader::Program*) in libOgreRTShaderSystemStatic.a(OgreShaderGLSLProgramWriter.o)
      Ogre::RTShader::GLSLProgramWriter::writeInputParameters(std::ostream&, Ogre::RTShader::Function*, Ogre::GpuProgramType) in libOgreRTShaderSystemStatic.a(OgreShaderGLSLProgramWriter.o)
      Ogre::RTShader::GLSLESProgramWriter::writeSourceCode(std::ostream&, Ogre::RTShader::Program*) in libOgreRTShaderSystemStatic.a(OgreShaderGLSLESProgramWriter.o)
      Ogre::RTShader::GLSLESProgramWriter::writeInputParameters(std::ostream&, Ogre::RTShader::Function*, Ogre::GpuProgramType) in libOgreRTShaderSystemStatic.a(OgreShaderGLSLESProgramWriter.o)
  "std::basic_ostream<char, std::char_traits<char> >& std::operator<<<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::_Setfill<char>)", referenced from:
      Ogre::TerrainGroup::generateFilename(long, long) const in libOgreTerrainStatic.a(OgreTerrainGroup.o)
      Ogre::RenderTarget::writeContentsToTimestampedFile(std::string const&, std::string const&) in libOgreMainStatic.a(OgreRenderTarget.o)
      Ogre::Log::logMessage(std::string const&, Ogre::LogMessageLevel, bool) in libOgreMainStatic.a(OgreLog.o)
      Ogre::Page::generateFilename() const in libOgrePagingStatic.a(OgrePage.o)
  "std::string::substr(unsigned long, unsigned long) const", referenced from:
      Ogre::ConfigFile::load(Ogre::SharedPtr<Ogre::DataStream> const&, std::string const&, bool) in libOgreMainStatic.a(OgreConfigFile.o)
      Ogre::StringUtil::split(std::string const&, std::string const&, unsigned int, bool) in libOgreMainStatic.a(OgreString.o)
      Ogre::StringUtil::tokenise(std::string const&, std::string const&, std::string const&, unsigned int) in libOgreMainStatic.a(OgreString.o)
      Ogre::StringUtil::startsWith(std::string const&, std::string const&, bool) in libOgreMainStatic.a(OgreString.o)
      Ogre::StringUtil::endsWith(std::string const&, std::string const&, bool) in libOgreMainStatic.a(OgreString.o)
      Ogre::StringUtil::splitFilename(std::string const&, std::string&, std::string&) in libOgreMainStatic.a(OgreString.o)
      Ogre::FontManager::parseScript(Ogre::SharedPtr<Ogre::DataStream>&, std::string const&) in libOgreOverlayStatic.a(OgreFontManager.o)
      ...
  "Ogre::ResourceGroupManager::initialiseResourceGroup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      OgreBites::SampleBrowser::setup() in SampleBrowser.o
      OgreBites::SampleBrowser::loadResources() in SampleBrowser.o
      Sample_BSP::loadResources() in SampleBrowser.o
  "std::locale::locale(char const*)", referenced from:
      ___cxx_global_var_init15 in libOgreMainStatic.a(OgreStringConverter.o)
  "std::string::begin() const", referenced from:
      Ogre::UTFString::assign(std::string const&) in libOgreMainStatic.a(OgreUTFString.o)
      Ogre::UTFString::_verifyUTF8(std::string const&) in libOgreMainStatic.a(OgreUTFString.o)
  "Ogre::CompositorManager::addCompositor(Ogre::Viewport*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int)", referenced from:
      Sample_Compositor::registerCompositors() in SampleBrowser.o
      Sample_SSAO::checkBoxToggled(OgreBites::CheckBox*) in SampleBrowser.o
      Sample_SSAO::setUniform(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, float, bool, int) in SampleBrowser.o
      Sample_SSAO::setupCompositors() in SampleBrowser.o
      Sample_Instancing::setupContent() in SampleBrowser.o
  "Ogre::OverlayManager::createOverlayElement(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool)", referenced from:
      OgreBites::SdkTrayManager::SdkTrayManager(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Ogre::RenderWindow*, OgreBites::InputContext, OgreBites::SdkTrayListener*) in SampleBrowser.o
      Sample_EndlessWorld::frameRenderingQueued(Ogre::FrameEvent const&) in SampleBrowser.o
      Sample_EndlessWorld::setupContent() in SampleBrowser.o
  "std::string::push_back(char)", referenced from:
      Ogre::UTFString::_load_buffer_UTF8() const in libOgreMainStatic.a(OgreUTFString.o)
  "Ogre::StringConverter::parseInt(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int)", referenced from:
      Sample_FacialAnimation::sliderMoved(OgreBites::Slider*) in SampleBrowser.o
  "Ogre::StringUtil::endsWith(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool)", referenced from:
      OgreBites::SampleBrowser::loadSamples() in SampleBrowser.o
      Sample_Instancing::buildInstancedMaterial(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in SampleBrowser.o
  "Ogre::LogManager::logMessage(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Ogre::LogMessageLevel, bool)", referenced from:
      Sample_Compositor::registerCompositors() in SampleBrowser.o
      Sample_SSAO::setupCompositors() in SampleBrowser.o
      Sample_Lighting::setupLights() in SampleBrowser.o
      SinbadCharacterController::setupBody(Ogre::SceneManager*) in SampleBrowser.o
  "std::string::append(char const*, unsigned long)", referenced from:
      Ogre::DataStream::getAsString() in libOgreMainStatic.a(OgreDataStream.o)
      std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libOgreMainStatic.a(OgreLight.o)
  "Ogre::PageManager::createWorld(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      Sample_EndlessWorld::setupContent() in SampleBrowser.o
  "Ogre::TextureUnitState::setCompositorReference(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long)", referenced from:
      Sample_Compositor::itemSelected(OgreBites::SelectMenu*) in SampleBrowser.o
  "std::ios_base::Init::~Init()", referenced from:
      ___cxx_global_var_init in libSample_VolumeCSG.a(VolumeCSG.o)
      ___cxx_global_var_init in libSample_ShaderSystem.a(ShaderSystem.o)
      ___cxx_global_var_init in libSample_NewInstancing.a(NewInstancing.o)
      ___cxx_global_var_init in libSample_VolumeTerrain.a(VolumeTerrain.o)
      ___cxx_global_var_init in libSample_DeferredShading.a(DeferredShading.o)
      ___cxx_global_var_init in libSample_EndlessWorld.a(PerlinNoiseTerrainGenerator.o)
      ___cxx_global_var_init in libOgreMainStatic.a(OgreCompositor.o)
      ...
  "Ogre::RTShader::ShaderGenerator::invalidateMaterial(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      Sample_BezierPatch::checkBoxToggled(OgreBites::CheckBox*) in SampleBrowser.o
  "Ogre::Root::createSceneManager(unsigned short, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      OgreBites::Sample::createSceneManager() in SampleBrowser.o
      OgreBites::SampleBrowser::createDummyScene() in SampleBrowser.o
  "Ogre::StringConverter::parseUnsignedInt(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned int)", referenced from:
      Sample_Compositor::itemSelected(OgreBites::SelectMenu*) in SampleBrowser.o
      OgreBites::SampleBrowser::keyPressed(OIS::KeyEvent const&) in SampleBrowser.o
  "Ogre::OverlayManager::createOverlayElementFromTemplate(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool)", referenced from:
      OgreBites::Button::Button(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Ogre::UTFString const&, float) in SampleBrowser.o
      OgreBites::TextBox::TextBox(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Ogre::UTFString const&, float, float) in SampleBrowser.o
      OgreBites::ParamsPanel::ParamsPanel(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, float, unsigned int) in SampleBrowser.o
      OgreBites::Label::Label(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Ogre::UTFString const&, float) in SampleBrowser.o
      OgreBites::SdkTrayManager::SdkTrayManager(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Ogre::RenderWindow*, OgreBites::InputContext, OgreBites::SdkTrayListener*) in SampleBrowser.o
      OgreBites::SampleBrowser::itemSelected(OgreBites::SelectMenu*) in SampleBrowser.o
      OgreBites::SelectMenu::setItems(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Ogre::STLAllocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Ogre::CategorisedAllocPolicy<(Ogre::MemoryCategory)0> > > const&) in SampleBrowser.o
      ...
  "Ogre::StringUtil::startsWith(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool)", referenced from:
      Sample_Compositor::registerCompositors() in SampleBrowser.o
      Sample_Compositor::checkBoxToggled(OgreBites::CheckBox*) in SampleBrowser.o
      OgreBites::SampleContext::locateResources() in SampleBrowser.o
      Sample_Dot3Bump::checkBoxToggled(OgreBites::CheckBox*) in SampleBrowser.o
      Sample_BSP::locateResources() in SampleBrowser.o
      Sample_PNTriangles::checkBoxToggled(OgreBites::CheckBox*) in SampleBrowser.o
  "Ogre::UTFString::operator std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >() const", referenced from:
      Sample_Compositor::checkBoxToggled(OgreBites::CheckBox*) in SampleBrowser.o
      Sample_Compositor::itemSelected(OgreBites::SelectMenu*) in SampleBrowser.o
      OgreBites::SelectMenu::addItem(Ogre::UTFString const&) in SampleBrowser.o
      OgreBites::SelectMenu::selectItem(Ogre::UTFString const&, bool) in SampleBrowser.o
      OgreBites::SampleBrowser::buttonHit(OgreBites::Button*) in SampleBrowser.o
      OgreBites::SampleBrowser::itemSelected(OgreBites::SelectMenu*) in SampleBrowser.o
      Sample_Dot3Bump::itemSelected(OgreBites::SelectMenu*) in SampleBrowser.o
      ...
  "Ogre::CompositionTargetPass::setOutputName(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      Sample_Compositor::createEffects() in SampleBrowser.o
  "Ogre::Root::createSceneManager(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      Sample_BSP::createSceneManager() in SampleBrowser.o
  "std::basic_ios<char, std::char_traits<char> >::eof() const", referenced from:
      Ogre::StringConverter::isNumber(std::string const&) in libOgreMainStatic.a(OgreStringConverter.o)
      Ogre::FileStreamDataStream::readLine(char*, unsigned long, std::string const&) in libOgreMainStatic.a(OgreDataStream.o)
      Ogre::FileStreamDataStream::eof() const in libOgreMainStatic.a(OgreDataStream.o)
      Ogre::DeflateStream::compressFinal() in libOgreMainStatic.a(OgreDeflate.o)
  "std::ostream::operator<<(unsigned long)", referenced from:
      Ogre::Log::Stream& Ogre::Log::Stream::operator<<<unsigned long>(unsigned long const&) in libSample_VolumeTerrain.a(VolumeTerrain.o)
      Ogre::StaticGeometry::dump(std::string const&) const in libOgreMainStatic.a(OgreStaticGeometry.o)
      Ogre::StaticGeometry::Region::dump(std::basic_ofstream<char, std::char_traits<char> >&) const in libOgreMainStatic.a(OgreStaticGeometry.o)
      Ogre::StaticGeometry::LODBucket::dump(std::basic_ofstream<char, std::char_traits<char> >&) const in libOgreMainStatic.a(OgreStaticGeometry.o)
      Ogre::StaticGeometry::MaterialBucket::dump(std::basic_ofstream<char, std::char_traits<char> >&) const in libOgreMainStatic.a(OgreStaticGeometry.o)
      Ogre::StaticGeometry::GeometryBucket::dump(std::basic_ofstream<char, std::char_traits<char> >&) const in libOgreMainStatic.a(OgreStaticGeometry.o)
      Ogre::StringConverter::toString(unsigned long, unsigned short, char, std::_Ios_Fmtflags) in libOgreMainStatic.a(OgreStringConverter.o)
      ...
  "Ogre::MaterialManager::getByName(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      Sample_Ocean::itemSelected(OgreBites::SelectMenu*) in SampleBrowser.o
      OgreBites::SampleBrowser::itemSelected(OgreBites::SelectMenu*) in SampleBrowser.o
      OgreBites::SampleBrowser::createDummyScene() in SampleBrowser.o
      Sample_Terrain::buildDepthShadowMaterial(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in SampleBrowser.o
      Sample_Water::itemSelected(OgreBites::SelectMenu*) in SampleBrowser.o
      Sample_SSAO::setUniform(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, float, bool, int) in SampleBrowser.o
      SSAOGBufferSchemeHandler::SSAOGBufferSchemeHandler() in SampleBrowser.o
      ...
  "Ogre::Entity::getAnimationState(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const", referenced from:
      Sample_Fresnel::setupFish() in SampleBrowser.o
      Sample_CubeMapping::setupContent() in SampleBrowser.o
      Sample_Transparency::setupContent() in SampleBrowser.o
      Sample_SkeletalAnimation::setupModels() in SampleBrowser.o
      Sample_FacialAnimation::setupContent() in SampleBrowser.o
      Sample_DynTex::setupContent() in SampleBrowser.o
      SinbadCharacterController::setupAnimations() in SampleBrowser.o
      ...
  "std::istream::seekg(long long, std::_Ios_Seekdir)", referenced from:
      Ogre::FileStreamDataStream::FileStreamDataStream(std::string const&, std::basic_ifstream<char, std::char_traits<char> >*, bool) in libOgreMainStatic.a(OgreDataStream.o)
      Ogre::FileStreamDataStream::FileStreamDataStream(std::basic_fstream<char, std::char_traits<char> >*, bool) in libOgreMainStatic.a(OgreDataStream.o)
      Ogre::FileStreamDataStream::FileStreamDataStream(std::string const&, std::basic_fstream<char, std::char_traits<char> >*, bool) in libOgreMainStatic.a(OgreDataStream.o)
      Ogre::FileStreamDataStream::skip(long) in libOgreMainStatic.a(OgreDataStream.o)
      Ogre::FileStreamDataStream::seek(unsigned long) in libOgreMainStatic.a(OgreDataStream.o)
  "Ogre::Root::getRenderSystemByName(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      OgreBites::SampleContext::initApp(OgreBites::Sample*) in SampleBrowser.o
      OgreBites::SampleContext::go(OgreBites::Sample*) in SampleBrowser.o
      OgreBites::SampleBrowser::buttonHit(OgreBites::Button*) in SampleBrowser.o
      OgreBites::SampleBrowser::itemSelected(OgreBites::SelectMenu*) in SampleBrowser.o
      OgreBites::SampleContext::reconfigure(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, Ogre::STLAllocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, Ogre::CategorisedAllocPolicy<(Ogre::MemoryCategory)0> > >&) in SampleBrowser.o
  "Ogre::Overlay::getChild(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      OgreBites::SdkTrayManager::setExpandedMenu(OgreBites::SelectMenu*) in SampleBrowser.o
ld: symbol(s) not found for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)
(I had to trim the output to get under the char limit, just removed the middle bits)

Any further advice?

Kind Regards

Carl
0 x

User avatar
masterfalcon
OGRE Team Member
OGRE Team Member
Posts: 4270
Joined: Sun Feb 25, 2007 4:56 am
Location: Bloomington, MN
Contact:

Re: Ogre V1.9 and iOS 7 Linker Error

Post by masterfalcon » Fri Oct 25, 2013 10:03 pm

Make sure that you are using the iOS 7 dependencies from here: http://www.ogre3d.org/download/source. Note that they are built with libc++, that means that you will need to enable libcpp support in CMake in order to properly link. I have a feeling that that is your issue.
0 x

Carlyone
Kobold
Posts: 38
Joined: Thu Jul 05, 2012 3:51 pm

Re: Ogre V1.9 and iOS 7 Linker Error

Post by Carlyone » Sun Oct 27, 2013 3:45 pm

Hello,
I added the cpp support flag to the CMake command then made sure everything was set for iOS7 Deployment, including the sample browser targets and that worked.

CMake Command:
cmake -D OGRE_BUILD_PLATFORM_APPLE_IOS=1 OGRE_CONFIG_ENABLE_LIBCPP_SUPPORT=1 -G Xcode ..

The link for the dependencies from the source page doesn't work, but I already had the correct ones anyway.
http://sourceforge.net/projects/ogre/fi ... g/download

Cheers for the help, looks like my project builds as well.

Carl
0 x

SufferinPup
Greenskin
Posts: 119
Joined: Tue Mar 02, 2010 11:09 pm
x 2

Re: Ogre V1.9 and iOS 7 Linker Error

Post by SufferinPup » Fri Nov 08, 2013 6:47 pm

I can't seem to find the iOS 7 dependencies anywhere anymore, were they removed?
0 x

User avatar
masterfalcon
OGRE Team Member
OGRE Team Member
Posts: 4270
Joined: Sun Feb 25, 2007 4:56 am
Location: Bloomington, MN
Contact:

Re: Ogre V1.9 and iOS 7 Linker Error

Post by masterfalcon » Fri Nov 08, 2013 11:41 pm

Nope, they're still there. http://www.ogre3d.org/download/source
0 x

yvesa
Gnoblar
Posts: 10
Joined: Tue Oct 15, 2013 5:18 pm

Re: Ogre V1.9 and iOS 7 Linker Error

Post by yvesa » Thu Nov 14, 2013 5:25 pm

Hello,
I also had linking problems using the recommended cmake command as described in http://www.ogre3d.org/tikiwiki/tiki-ind ... 0iPhone%29 tutorial:

Code: Select all

cmake -D OGRE_BUILD_PLATFORM_APPLE_IOS=1 -G Xcode ..
When I opened the generated XCode, changing
- "Build Settings > Apple LLVM 5.0 - Language - C++> C++ Language Dialect" to "C++11"
- "Build Settings > Apple LLVM 5.0 - Language - C++> C++ Standard Library" to "libc++"

for all targets (i.e. OgreMain, RenderSystems_GLES, ...,Sample_BezierPatch, ..., SampleBrowser) helped me to resolve the linking issue and the samples would build.

I am using OSX 10.8.5, XCode 5.0.2 and IPad Simulator 7.0.
The source was downloaded from 1.9 branch 190724415236 on 12-Nov-2013.
0 x

Post Reply