boost.framework for ios 用起来的时候出现这样的问题,好头痛,求解

2015-05-25 20:29:50 +08:00
 forkon

///////////////////
出错类型:Apple Mach-O Linker Error

///////////////////
boost.framework支持的架构
/Users/ForDrink/Desktop/librime/thirdparty/boost.framework/boost (for architecture armv7): current ar archive random library

/Users/ForDrink/Desktop/librime/thirdparty/boost.framework/boost (for architecture armv7s): current ar archive random library

/Users/ForDrink/Desktop/librime/thirdparty/boost.framework/boost (for architecture i386): current ar archive random library

/Users/ForDrink/Desktop/librime/thirdparty/boost.framework/boost (for architecture x86_64): current ar archive random library

/Users/ForDrink/Desktop/librime/thirdparty/boost.framework/boost (for architecture arm64): current ar archive random library

///////////////////
下面是出错时打印出来的信息(一部分)
Undefined symbols for architecture arm64:

"boost::cpp_regex_traits<char>::toi(char const&, char const, int) const", referenced from:

boost::re_detail::basic_regex_formatter<boost::re_detail::string_out_iterator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, boost::match_results<std::__1::__wrap_iter<char const*>, std::__1::allocator<boost::sub_match<std::__1::__wrap_iter<char const*> > > >, boost::regex_traits_wrapper<boost::regex_traits<char, boost::cpp_regex_traits<char> > >, std::__1::__wrap_iter<char const*> >::format_escape() in librime.1.2.9.a(calculus.o)

  boost::re_detail::basic_regex_formatter<boost::re_detail::string_out_iterator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, boost::match_results<std::__1::__wrap_iter<char const*>, std::__1::allocator<boost::sub_match<std::__1::__wrap_iter<char const*> > > >, boost::regex_traits_wrapper<boost::regex_traits<char, boost::cpp_regex_traits<char> > >, std::__1::__wrap_iter<char const*> >::format_conditional() in librime.1.2.9.a(calculus.o)

  boost::re_detail::basic_regex_formatter<boost::re_detail::string_out_iterator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, boost::match_results<std::__1::__wrap_iter<char const*>, std::__1::allocator<boost::sub_match<std::__1::__wrap_iter<char const*> > > >, boost::regex_traits_wrapper<boost::regex_traits<char, boost::cpp_regex_traits<char> > >, std::__1::__wrap_iter<char const*> >::format_perl() in librime.1.2.9.a(calculus.o)

"std::1::basic_istream<char, std::1::chartraits<char> >::sentry::sentry(std::1::basic_istream<char, std::_1::char_traits<char> >&, bool)", referenced from:

std::__1::basic_istream<char, std::__1::char_traits<char> >& std::__1::getline<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_istream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, char) in librime.1.2.9.a(dict_settings.o)

"vtable for std::__1::ios_base::failure", referenced from:

boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::__1::ios_base::failure> >::rethrow() const in librime.1.2.9.a(string_table.o)

  boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::__1::ios_base::failure> >::clone_impl(boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::__1::ios_base::failure> > const&, boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::__1::ios_base::failure> >::clone_tag) in librime.1.2.9.a(string_table.o)

  boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::__1::ios_base::failure> >::clone_impl(boost::exception_detail::error_info_injector<std::__1::ios_base::failure> const&) in librime.1.2.9.a(string_table.o)

"std::1::cerr", referenced from:
boost::assertion::detail::assertion_failed_msg(char const, char const, char const, char const, long) in librime.1.2.9.a(deployment_tasks.o)
"std::
1::basicostream<char, std::1::char_traits<char> >::operator<<(long)", referenced from:
boost::assertion::detail::assertion_failed_msg(char const, char const, char const, char const, long) in librime.1.2.9.a(deployment_tasks.o)
"std::
1::basic_ostream<char, std::_1::char_traits<char> >::put(char)", referenced from:
boost::assertion::detail::assertion_failed_msg(char const, char const, char const, char const, long) in librime.1.2.9.a(deployment_tasks.o)

3335 次点击
所在节点    iOS
2 条回复
forkon
2015-05-25 23:56:20 +08:00
std::__1这个到底是什么 为什么大部分出错的地方都有它
forkon
2015-05-26 00:36:45 +08:00
解决了!

在link binary with libraries里加libstdc++.dylib

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/193653

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX