2014-01-21 4 views
0

У меня есть программная цепочка CMake, которая должна генерировать статическую библиотеку для развертывания в подходящем клиентском приложении для выбранной платформы. Доступная платформа на данный момент является только iOS, однако после запуска CMake и создания проекта (оба проекта: статическая библиотека и клиент построены правильно), Xcode не удается построить во время процесса компоновки. Странный факт, он не связан также с базовыми библиотеками типа «std».Cmake: ссылка на библиотеку iOS

Здесь связующий вопрос:

Undefined symbols for architecture armv7: 
    "typeinfo for std::codecvt<wchar_t, char, __mbstate_t>", referenced from: 
     typeinfo for boost::filesystem::detail::utf8_codecvt_facet in boost(utf8_codecvt_facet.o) 
    "std::codecvt<wchar_t, char, __mbstate_t>::~codecvt()", referenced from: 
     boost::filesystem::detail::utf8_codecvt_facet::~utf8_codecvt_facet() in boost(utf8_codecvt_facet.o) 
     boost::filesystem::detail::utf8_codecvt_facet::~utf8_codecvt_facet() in boost(utf8_codecvt_facet.o) 
    "VTT for std::istream", referenced from: 
     boost::cpp_regex_traits<char>::toi(char const*&, char const*, int) const in boost(instances.o) 
    "std::numpunct<char>::id", referenced from: 
     boost::cpp_regex_traits<char>::toi(char const*&, char const*, int) const in boost(instances.o) 

Я создал проект CMake как в этом sample

кого-нибудь есть ключ?

+0

Итак, у вас есть сборка повышения для iOS (которая должна быть «толстой» библиотекой armv6, armv7, armv7s и i386)? – trojanfoe

+0

Не уверен в этом, но, возможно, вы просто не компилируете опцию '-stdlib = libC++'. – ComicSansMS

ответ

0

Благодаря всем вам,

Я решил просто добавить флаг "-stdlib = LibC++" (как это ComicSansMS предложил, спасибо) и команда include_directories ($ {Boost_DIR}) для CMakeLists.txt

спасибо Roberto

Смежные вопросы