2009-05-21 9 views
16

Niedawno poznałem bibliotekę Boost i chciałbym użyć jej w moim projekcie Xcode. Ale niestety nie ma HowTo lub FAQ, jak zrobić to :(Zwiększenie wydajności na komputerze Mac z Xcode

Jaka jest kolejność działań w celu budowania i korzystać z bibliotek Boost w Xcode?

+1

Mac (OSX) to tylko wariant systemu UNIX. Postępuj zgodnie z instrukcjami UNIX. –

+0

Poszedłem za tym stanowiskiem i nie zadziałało to dla mnie. Odpowiedź Ferruccia poniżej zrobiła lewę. Zyskuję prawdziwą wdzięczność dla MacPorts. Magia polega na prawidłowym instalowaniu wielu rzeczy. – Patricia

Odpowiedz

6

nie wiem jak używać wsparcie ze XCode (I nie jestem programista Mac), ale impuls budynek zwykle odbywa się poprzez własną budować narzędzia, bjam.

mają przewodnik impuls here budowę i można pobrać najnowszą wersję bjam here

Raz jest zbudowany, odwołujesz się do niego z Xcode w taki sam sposób, jak każdą inną bibliotekę należy dodać do ścieżki dołączania, a biblioteki w boost/lib można odwoływać się do bibliotek boost, które tego wymagają.

+0

Należy postępować zgodnie z instrukcjami dotyczącymi budowania w systemie UNIX. – paxos1977

+0

Próbowałem już bjam. To nie pomogło :( –

+1

"nie pomogło"? Co rozumiesz przez to? – jalf

0

Dla większości bibliotek doładowania nie ma nic do zbudowania, wszystko to znajduje się w plikach nagłówkowych. Pozostała część instrukcji to here.

+1

To nie opisuje jak zbudować program z Boost w XCode, opisuje tylko jak zbudować samą bibliotekę: –

+0

Wiele bibliotek ma tylko nagłówek hpp, ale wiele musi być zbudowanych osobno. Patrz: http://www.boost.org/doc/libs/1_45_0/more/ gets_started/unix-versions.html # id22 – Aaron

+0

Dodałem w plikach nagłówkowych, ale XCode nie rozpoznaje ich w formacie . Pliki znajdują się w katalogu, ale nie są rozpoznawane. – eb80

27

Najprostszym sposobem znalazłem to zrobić, to zainstalować MacPorts, można zainstalować/zbudować Boost, za pomocą jednego polecenia:

sudo port install boost 

Plus można uzyskać podobny dostęp do innego oprogramowania open source. Jedyną wadą, jaką odkryłem, jest to, że jak każdy inny system zarządzania pakietami, nie zawsze są one zgodne z najnowszą wersją.

Jeśli wolisz Homebrew jako menadżera pakietów, komenda brzmi:

brew install boost 
+0

To działa dla moich wersji debugowania, ale mam problemy z kompilacjami wydań. Czy to Ci pasuje? –

+0

@TomA: To działało wcześniej dla mnie. Jakie masz problemy? – Ferruccio

+0

ld zignorowanie pliku /opt/local/lib/libboost_filesystem.dylib, plik został zbudowany dla nieobsługiwanego formatu pliku, który nie jest połączoną architekturą (i386) ... a po nim kilka niezdefiniowanych symboli z systemu i bibliotek zwiększających system plików, które zawiodły łączyć. Działa dla "Build for Running", nie działa w przypadku "Build for Archiving". –

1

Uważam, że aby zbudować Rozreklamują 1.41.1 na MacOS, należy wykonać następujące czynności:

  1. Pobierz doładowanie 1.46.1 stąd: http://sourceforge.net/projects/boost/files/boost/1.46.1/
  2. Rozpakuj plik
  3. Otwórz terminal, przejdź do katalogu instalacyjnego i wykonaj następujące czynności:

chmod u + x narzędzia configure.sh

cd/build/v2/silnik/src

chmod u + x build.sh

Następnie wróć do katalog instalacyjny i:

./configure.sh

Jeśli który działa skutecznie, powie to, aby uruchomić:

./bjam

to jest to .. niezależnie od powodu, musiałem ręcznie ustawić te uprawnienia przed to zadziała.

1

Aby zbudować impuls na iOS 5.1/6.0 lub OSX 10.8 Daniel Sefton utrzymuje narzędzie & instrukcji tutaj: http://www.danielsefton.com/2012/03/building-boost-1-49-with-clang-ios-5-1-and-xcode-4-3/

Daje to statyczne (app store przyjazną) ramy, który działa na symulatorze lub urządzenia bez konieczności zmień dowolne konfiguracje.

Narzędzie jest pomocne, ponieważ automatyzuje proces ustawiania flag kompilatora dla platformy (urządzenia) x86 (symulator), buduje platformy, a następnie łączy je jako uniwersalną bibliotekę przy użyciu lipo i finalnego opakowania jako statycznej struktury.

1

Obecnie jestem bardzo zadowolony z użyciem Skrypt Pete'a Goodliffe'a, który buduje framework z pakietu źródłowego Boost dla systemów iOS i Mac. Przeciągnij i upuść go w projekcie i działa!

Trzymam kopię skryptu tutaj:

https://gist.github.com/catnapgames/8912307

Nie pamiętam, czy jest to tylko kopia oryginału lub jeśli mam jakąś zmodyfikowaną wersję gdzieś; wszystko, co mogę powiedzieć, to, że zadziałało dla mnie na iOS & Mac z Xcode 5.0.2 i Boost 1.55