Как добавить библиотеку Boost Thread в проект iPhone? - PullRequest
4 голосов
/ 25 января 2011

Я пытаюсь портировать существующий проект на iPhone, которому нужна библиотека Boost.Thread, проект компилируется без ошибок, но есть ошибки ссылки:

"boost::thread::start_thread()", referenced from:
  boost::thread::thread<(anonymous namespace)::ReadThread::Function>((anonymous namespace)::ReadThread::Function, boost::disable_if<boost::is_convertible<(anonymous namespace)::ReadThread::Function&, boost::detail::thread_move_t<(anonymous namespace)::ReadThread::Function> >, boost::thread::dummy*>::type)in ChessEngine.o

Как я могу добавить необходимые библиотеки потоков в проект Xcode?

p.s. ускоренная библиотека находится в: /usr/local/lib/libboost_thread-mt.a

РЕДАКТИРОВАТЬ (библиотека найдена, но получена ошибка архитектуры):

После Связывание с Boost.Signals с использованием Xcode , после добавления /usr/local/lib в Library Search Path и -lboost_thread-mt в Other Linker Flags библиотека найдена Однако появляются новые ошибки и предупреждения:

ld: warning: in /usr/local/lib/libboost_thread-mt.dylib, file was built for unsupported file format which is not the architecture being linked (i386)

Как заставить библиотеку работать на iOS (4.0 или новее)? Спасибо!

Ответы [ 2 ]

1 голос
/ 25 января 2011

Я провел еще несколько поисков и обнаружил этот загружаемый скрипт , который будет создавать версию boost для нескольких архитектур с поддержкой iphone.Также ознакомьтесь с этим сообщением в блоге об его использовании.

0 голосов
/ 25 января 2011

Звучит так, будто вы пытаетесь связать библиотеку для какой-либо архитектуры (armv6,7), когда у вас, вероятно, установлена ​​текущая цель как устройство (i386 - симулятор). Если это правильно, я бы сказал, что вы загрузили библиотеку, созданную для этого устройства. Для запуска в симуляторе вам нужна версия библиотеки, созданная для вашего компьютера (I386).

Самый простой способ работы с любой внешней библиотекой - создать ее статическую структуру armv6 / armv7 / i386. Тогда это кусок пирога для использования. Если это так же сложно, как кажется, я бы поищу в другом месте функциональность: -)

...