Sergey Fedoseev
Sergey Fedoseev

Reputation: 43

How to add architecture armv7, armv7s to {name}.framework?

I'm using libmusicxml2.framework in my iOS app. She is builded for Mac OSX and when I run it on simulator all works fine. But when i run on the device i get following error:

    Undefined symbols for architecture armv7:
  "vtable for MusicXML2::xmlreader", referenced from:
      MusicXML2::xmlreader::~xmlreader() in TransposerLibXML.o
      MusicXML2::xmlreader::xmlreader() in TransposerLibXML.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "MusicXML2::xmlreader::read(char const*)", referenced from:
      +[TransposerLibXML transposeFileAtPath:interval:] in TransposerLibXML.o
      +[TransposerLibXML currentKeyInrevalForFile:] in TransposerLibXML.o
      +[TransposerLibXML moodForFile:] in TransposerLibXML.o
      +[TransposerLibXML songNameForFile:] in TransposerLibXML.o
      +[TransposerLibXML composerNameForFile:] in TransposerLibXML.o
  "MusicXML2::TXMLFile::print(std::ostream&)", referenced from:
      +[TransposerLibXML transposeFileAtPath:interval:] in TransposerLibXML.o
  "MusicXML2::transposition::transposition(int)", referenced from:
      +[TransposerLibXML transposeFileAtPath:interval:] in TransposerLibXML.o
  "vtable for MusicXML2::xml_tree_browser", referenced from:
      MusicXML2::xml_tree_browser::xml_tree_browser(MusicXML2::basevisitor*) in TransposerLibXML.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "MusicXML2::xmlelement::getAttributeValue(std::string const&) const", referenced from:
      composernamevisitor::visitStart(MusicXML2::SMARTP<MusicXML2::musicxml<52> >&) in TransposerLibXML.o
  "MusicXML2::xml_tree_browser::browse(MusicXML2::xmlelement&)", referenced from:
      +[TransposerLibXML transposeFileAtPath:interval:] in TransposerLibXML.o
      +[TransposerLibXML currentKeyInrevalForFile:] in TransposerLibXML.o
      +[TransposerLibXML moodForFile:] in TransposerLibXML.o
      +[TransposerLibXML songNameForFile:] in TransposerLibXML.o
      +[TransposerLibXML composerNameForFile:] in TransposerLibXML.o
  "MusicXML2::transposition::~transposition()", referenced from:
      +[TransposerLibXML transposeFileAtPath:interval:] in TransposerLibXML.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

How can I add armv7 support for libmusicxml2.framework? Please, help..

Upvotes: 0

Views: 444

Answers (1)

MrTJ
MrTJ

Reputation: 13182

You will need to build your framework agains iOS SDK. It has different project file structure and also the SDK has supports completely different feature set: a lot of methods and classes supported in OSX does not have support in iOS. You can try to create a project file for iOS from scratch but it will be a challenging task and success is not guaranteed due to the SDK incompatibilities. Maybe you can ask the authors of the framework for help.

Upvotes: 1

Related Questions