2013-12-19 44 views
1

我正在使用Metaio SDK和雲插件,我無法通過xcode 5中的mach-o鏈接器錯誤的巨大集合。以下是一些,但我有118個:與metaio的mach-o鏈接器錯誤

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) 
+0

如果您將較早的IOS版本,會發生什麼? – Robert

+0

@Robert將他們減少到只有6!我在上面的編輯中發佈了剩餘的6個。任何其他偉大的建議? – livinzlife

+0

什麼是你正在使用的metaio SDK的版本。 –

回答

4

你的iOS 6所示的方式錯誤,一些框架的缺失,請添加所有這些框架顯示在圖像中,使其與iOS 6一起使用。

enter image description here

和這個link可以幫助你。

新更新:

檢查你的代碼後,我發現在你的項目中的一些問題,你失蹤了StoreKit and StoreKitUI and MeidaPlayer框架。

而你的一些構建設置配置不正確。請使用此圖像中顯示的確切配置。 Other Linker flag必須是這樣的:

enter image description here

C Language dialect必須是這樣的: enter image description here

和這個配置是完全一樣的圖像: enter image description here

我已經測試了您的應用程序使用所有這些配置,現在該應用程序可以在iOS7和iOS 6下正常工作。

+0

我確定我擁有該列表中的所有框架。我做了其他更改,現在我又回到了118個錯誤 – livinzlife

+0

你可以給我這個項目嗎?所以我可以檢查它,我的電子郵件是:iam.shabir yahoo.com –

+0

發送到您的電子郵件,如果你能解決它,你能讓我知道你做了什麼,所以我可以在這裏發佈它爲未來的人。所以我可以記住自己在未來的應用程序上做? – livinzlife

3

EKEventEditViewController指示您未針對EventKitUI.framework進行鏈接。

SLComposeViewController表明,你是不是對鏈接Social.framework

參考Here

0

釘支護它與這些配置:

框架: Imported Frameworks

添加鏈接標誌: File config

更改視圖控制器擴展。MM: mm extension

內搭設置語言C++設置如下: Language C++ Settings

並設定C語言的方言: C Language Dialect

另外:

檢查所有的框架都是lin KED正確

檢查所有文件你需要的是註冊內「構建階段>編譯源代碼」

測試在iOS 8