ios 编译过程中碰到std::ios_base::Init::~Init()错误的问题解决方法

转载自:http://wicrewoft.blog.51cto.com/210706/1236005 原作者:范国锋
如果遇到下面这个问题是因为引用的c++库不正确导致,xcode 6.1版本需要引用 libstdc++.6.dylib才能解决问题。
 
Undefined symbols for architecture armv6:"std::ios_base::Init::~Init()", referenced from:  ___tcf_0 in libmyCppLib_dev.a(myCppLib.o)"std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)", referenced from:      _show_the_world in libmyCppLib_dev.a(myCppLib.o)"std::ios_base::Init::Init()", referenced from:  __static_initialization_and_destruction_0(int,int)in libmyCppLib_dev.a(myCppLib.o)"std::cout", referenced from:  _show_the_world in libmyCppLib_dev.a(myCppLib.o)ld: symbol(s) not found for architecture armv6collect2: ld returned 1 exit status

 

The correct answer was provided by Jimmy Koerting in the comments: the app needs to be linked against libstdc++.dylib to resolve the standard library symbols. Thanks to Jimmy Koerting, but one more thing i want to add here is, if you are using xcode latest version with iOS 6.1 please add thislibstdc++.6.dylib

 

http://stackoverflow.com/questions/6882817/building-static-c-lib-for-use-with-objective-c-app-in-xcode-4

本文出自 “范国锋” 博客,请务必保留此出处http://wicrewoft.blog.51cto.com/210706/1236005

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。