mach-o грешки при свързване с metaio

Работя с Metaio SDK и облачен плъгин и не мога да преодолея огромна колекция от грешки на mach-o linker в xcode 5. Ето няколко, но имам 118 от тях:

Undefined symbols for architecture armv7s:
  "std::__throw_logic_error(char const*)", referenced from:
      tesseract::WordListLangModel::AddString32(int const*) in metaioSDK(word_list_lang_model.o)
      std::basic_string<int, std::char_traits<int>, std::allocator<int> >::basic_string(std::basic_string<int, std::char_traits<int>, std::allocator<int> > const&, unsigned long, unsigned long) in metaioSDK(word_list_lang_model.o)
      tesseract::ConvNetCharKSBmHGiVwS::Fold() in metaioSDK(conv_net_classifier.o)
      tesseract::HybridNeuralNetCharKSBmHGiVwS::Fold() in metaioSDK(hybrid_neural_net_classifier.o)
  "std::string::operator[](unsigned long) const", referenced from:
      tesseract::CubeUtils::SplitStringUsing(std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> >*) in metaioSDK(cube_utils.o)
  "std::string::find_first_of(std::string const&, unsigned long) const", referenced from:
      tesseract::CubeUtils::SplitStringUsing(std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> >*) in metaioSDK(cube_utils.o)
  "std::string::length() const", referenced from:
      tesseract::WordUnigrams::Create(std::string const&, std::string const&) in metaioSDK(word_unigrams.o)
      tesseract::TesseractCubeCombiner::ComputeCombinerFeatures(std::string const&, int, tesseract::CubeObject*, tesseract::WordAltList*, std::vector<double, std::allocator<double> >*, bool*) in metaioSDK(tesseract_cube_combiner.o)
      tesseract::ConvNetCharKSBmHGiVwS::LoadFoldingSets(std::string const&, std::string const&, tesseract::LangModel*) in metaioSDK(conv_net_classifier.o)
      tesseract::HybridNeuralNetCharKSBmHGiVwS::LoadFoldingSets(std::string const&, std::string const&, tesseract::LangModel*) in metaioSDK(hybrid_neural_net_classifier.o)

След като зададох целта за внедряване на 6.0, намалих това до 6 грешки

Undefined symbols for architecture armv7s:
  "_OBJC_CLASS_$_EKEventEditViewController", referenced from:
      objc-class-ref in metaioSDK(XDtLkdmsHtXjGTCxiIGVbMqenrFYqNevtLOSg)
  "_OBJC_CLASS_$_EKEvent", referenced from:
      objc-class-ref in metaioSDK(XDtLkdmsHtXjGTCxiIGVbMqenrFYqNevtLOSg)
  "_OBJC_METACLASS_$_MPMoviePlayerViewController", referenced from:
      _OBJC_METACLASS_$_ASMoviePlayerViewController in metaioSDK(ASMoviePlayerViewController.o)
      _OBJC_METACLASS_$_MoviePlayerViewController in metaioSDK(MoviePlayerViewController.o)
  "_OBJC_CLASS_$_EKEventStore", referenced from:
      objc-class-ref in metaioSDK(XDtLkdmsHtXjGTCxiIGVbMqenrFYqNevtLOSg)
  "_OBJC_CLASS_$_MPMoviePlayerViewController", referenced from:
      _OBJC_CLASS_$_ASMoviePlayerViewController in metaioSDK(ASMoviePlayerViewController.o)
      _OBJC_CLASS_$_MoviePlayerViewController in metaioSDK(MoviePlayerViewController.o)
ld: symbol(s) not found for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)

person livinzlife    schedule 19.12.2013    source източник
comment
Какво се случва, ако се насочите към по-ранна версия на iOS?   -  person Robert    schedule 19.12.2013
comment
@Robert Това ги намали до само 6! Публикувах останалите 6 в редакция по-горе. Други страхотни предложения?   -  person livinzlife    schedule 19.12.2013
comment
каква е версията на metaio SDK, която използвате.   -  person Shabir jan    schedule 19.12.2013
comment
@Shabirjan Вярвам, че 4.5   -  person livinzlife    schedule 19.12.2013
comment
Можете ли да опитате да премахнете armv7s от архитектурите за компилация (тъй като вече сте го настроили само на iOS 6, не губите от реални устройства).   -  person Jai Govindani    schedule 19.12.2013
comment
@JaiGovindani Като намаля целта си за внедряване до 6, не мога да стартирам това на 7? В момента се опитвам да изградя ios7 iphone 5s.   -  person livinzlife    schedule 19.12.2013
comment
Разбирам, просто исках да направя тестването една крачка напред и да видя дали премахването на armv7s ще премахне останалите грешки - помага да се изолира до проблем с iOS 7/armv7s (по отношение на рамки и т.н.).   -  person Jai Govindani    schedule 19.12.2013
comment
@JaiGovindani Ако премахна armv7s от валидни архитектури и от архитектури, изглежда няма да има разлика   -  person livinzlife    schedule 19.12.2013


Отговори (4)


Грешката, която показахте за iOS 6, означава, че някои от рамките липсват. Моля, добавете всички тези рамки, показани на изображението, за да работи с iOS 6.

въведете описание на изображението тук

и тази връзка също може да ви помогне.

Нова актуализация:

След като проверих кода ви, открих някои проблеми във вашия проект, липсваха ви StoreKit and StoreKitUI and MeidaPlayer Frameworks.

И част от конфигурацията на настройките ви за изграждане не беше правилна. Моля, използвайте точните конфигурации, показани на тези изображения. Other Linker flag трябва да е така:

въведете описание на изображението тук

и C Language dialect трябва да е така: въведете описание на изображението тук

и тази конфигурация да бъде точно като това изображение: въведете описание на изображението тук

Тествах вашето приложение, като използвах всички тези конфигурации и сега приложението работи добре с iOS7 и iOS 6.

person Shabir jan    schedule 19.12.2013
comment
Сигурен съм, че имам всички рамки в този списък. Направих другите промени и сега се върнах към 118 грешки - person livinzlife; 19.12.2013
comment
можете ли да ми изпратите проекта? така че мога да го проверя за вас, имейлът ми е: iam.shabir yahoo.com - person Shabir jan; 19.12.2013
comment
изпратено на имейла ви, ако можете да го поправите, можете ли да ме уведомите какво сте направили, за да мога да го публикувам тук за бъдещи хора. И за да мога да си спомня да го направя сам в бъдещи приложения? - person livinzlife; 19.12.2013
comment
Вижте моя актуализиран отговор, междувременно проверявам вашия проект. - person Shabir jan; 19.12.2013
comment
С последната ви актуализация се върнах към 6-те първоначални грешки, публикувани в долната част на моето Q. - person livinzlife; 19.12.2013
comment
@livinzlife, моля, вижте моя актуализиран отговор и проверете приложението си, като използвате тази конфигурация, приложението работи добре с мен. - person Shabir jan; 19.12.2013
comment
Сега получавам тази грешка Неправилно образуван или повреден AST файл: „несъответстващи чадърни заглавки в подмодул“ Когато щракна върху грешката, тя се отнася до #import ‹XCTest/XCTest.h› - person livinzlife; 19.12.2013
comment
проверихте ли проекта във вашия имейл. - person Shabir jan; 19.12.2013
comment
моля, проверете пътя за търсене на рамката и пътя за търсене на библиотеката, може да има грешен път там. току-що изпълних проекта успешно в моя xcode. - person Shabir jan; 19.12.2013
comment
разбрах... трябваше да добавя eventkit eventkitui, за да работи. Списъкът с необходимите рамки metaio (от тяхната документация) е далеч от действителните изисквания. - person livinzlife; 20.12.2013
comment
Здравейте, направих същото, както споменахте.....изправен пред грешка като тази metaio::CreateUnifeyeMobileIPhone(std::string const&), посочена от: -[UnifeyeMobileViewController viewDidLoad] в UnifeyeMobileViewController.o ld: символ(и) не са намерени за архитектура armv7 clang: грешка: командата за свързване е неуспешна с изходен код 1 (използвайте -v, за да видите извикването) - person ; 17.09.2016
comment
Моля, моля, помогнете ми - person ; 17.09.2016

EKEventEditViewController показва, че не се свързвате с EventKitUI.framework.

SLComposeViewController показва, че не се свързвате срещу Social.framework

Вижте Тук

person Balakrishnan Mca    schedule 30.05.2014

Поправих всичките си грешки, като актуализирах sdk, срещнах много проблеми (тук: http://helpdesk.metaio.com/questions/38835/ios81-unity-455-metaio-60-sdk-mach-o-linker-errors-in-xcode-61)

person Ahmed U3    schedule 19.04.2015

Направи го с тези конфигурации:

Рамки: Импортирани рамки

Добавяне на флаг за свързване: Конфигурация на файл

Променете разширението ViewController на .mm: mm разширение

Вътрешните настройки на компилацията задават език C++ както следва: Настройки за език C++

И задайте езиковия диалект C: C езиков диалект

Още:

Проверете дали всички рамки са свързани правилно

Проверете дали всички файлове, от които се нуждаете, са регистрирани в „Фази на изграждане > Компилиране на източници“

Тестван на iOS 8

person dianakarenms    schedule 27.07.2015