2012-03-27 3 views
0

Я новичок в программировании, и у меня возникли проблемы с привязкой к библиотеке Boost в приложении Cocoa.Ссылка на библиотеку boost в приложении Cocoa

Я связался с библиотекой Boost из приложения C++ в XCode, и он отлично работал. Однако в приложении какао я сейчас работаю, делает то же самое, чтобы связать с библиотекой Boost, не работает, и бросает ошибку:

ld: warning: in /path/to/project/build/Debug-iphonesimulator/libboost_thread.dylib, file was built for unsupported file format which is not the architecture being linked (i386) 

Это, как представляется, так как приложения C++ используют архитектуру x86_64 , который работает с библиотекой Boost, тогда как приложения Cocoa используют архитектуру i386, которая, похоже, не работает.

Если решение состоит в том, что я должен как-то установить библиотеку Boost так, чтобы она работала с архитектурой i386, как я могу это сделать? Или есть другое, лучшее решение?

Заранее спасибо.

ответ

0

Похоже, вам нужно построить свою библиотеку Boost для BOTH i386 и x86_64.

Here's a link to a slightly older question that talks about compiling Boost as a static Universal (32-bit + 64-bit) library.

И ваше приложение Cocoa/Objective C, над которым вы работаете, также должно быть скомпилировано как универсальное (для i386 & x86_64) приложение.

+0

Как насчет 'руки' для развертывания на реальном устройстве? – trojanfoe

+0

http://stackoverflow.com/questions/1577838/how-to-build-boost-libraries-for-iphone имеет ответы на вопрос о том, как создать «реальное устройство». –

+0

Спасибо - я попробую компилировать Boost как статическую универсальную библиотеку. Но как мне следует собирать компиляцию приложения Cocoa/Objective C в качестве универсального приложения? Это то, с чем я не сталкивался раньше. – user1295558