2012-04-13 14 views
15

Nie mogę dołączyć zwiększenia w xcode. Użyłem instrukcji kompilacji z dokumentacji Boost i napisałem ścieżki wyszukiwania w xcode/usr/local/lib i/usr/local/include.Dołącz doładowanie w kodzie Xcode

Każda pomoc proszę!

Odpowiedz

9

używam impuls z Xcode 3.2.1 na Mac OS 10.6.8

Miałem problemy z korzystaniem z boost i Xcode dzisiaj, w końcu udało mi się to sprawić, więc mam nadzieję, że to pomoże:

  1. impuls do pobrania, mam dzisiaj 1.52.0, rozpakuj je

  2. zainstalować Boost:

    na początku nie mogłem zrobić ./bootstrap.sh, zatrzymał się po kilku pierwszych linii. Po przejściu przez google, otrzymałem odpowiedź, ponieważ kiedy zainstalowałem Xcode dawno temu, z jakiegoś powodu nie sprawdzałem "rozwoju Uniksa" w opcjach instalacji.W tym momencie ponownie zainstalować nowszą wersję Xcode i sprawdź „linii rozwojowej UNIX”

    Po tym, ./bootstrap i ./b2 instalacja pracowała w porządku

  3. przykład lambda:

    w tym momencie, pierwszy przykład powinien działać dobrze, jeśli nie spróbuj dodać /usr/local/include w ścieżce ustawienia projektu/wyszukiwanie nagłówek

  4. za pomocą nici lub coś innego, co wymaga być zbudowany

    Wątek

    wymaga określonego dylib do pracy: libboost_system.dylib. w moim systemie został usytuowany w /usr/local/lib po ./b2 install thingy

    w lewej części GUI, można kliknąć prawym przyciskiem myszy w dowolnym miejscu i wybierz opcję Dodaj istniejący plik

    jeśli plik jest ukryty można znaleźć skrót, aby uzyskać do usr/local/lib w katalogu /Developer/SDKs/MacOSX10.6.sdk/usr/local

raz libboost_system.dylib nie pojawiają się w grupach i plików część GUI, to powinno działać

+0

Idealne, chciałbym dać ci +10 za utrzymanie mojego ego nauka C++ w piątkową noc! – CjCoax

30

Spędziłem dużo czasu, próbując wykonać tę pracę. Nie mogłem zrobić to praca przy użyciu pobrać ze strony projektu Boost, więc użyłem homebrew zamiast:

Po homebrew jest zainstalowany, po zainstalowaniu Boost, przy użyciu:

brew install boost 

lub, jeśli nie mają zainstalowano pyton, używając:

brew install boost --without-python 

Bez --without-python nie instalowałoby się na moim komputerze.

  1. W XCode (4.3.3) wybierz plik projektu na pasku bocznym po lewej stronie (najwyższy punkt) i wybierz go ponownie w panelu projektu.
  2. Wybierz kartę Ustawienia tworzenia i wybierz opcję Wszystko.
  3. W obszarze Ścieżki wyszukiwania dodaj ścieżkę wyszukiwania nagłówka /usr/local/Cellar/boost/1.49.0/include/ i zaznacz pole. Ścieżka powinna teraz być wyświetlana w Ustawieniach kompilacji.

Teraz można użyć:

#include <boost/regex.hpp> 

lub cokolwiek, czego potrzeba z pakietu impuls.


W przypadku doładowania masz już zainstalowany, należy $ brew info boost aby uzyskać właściwą ścieżkę:

boost: stable 1.60.0 (bottled), HEAD 
Collection of portable C++ source libraries 
https://www.boost.org/ 
/usr/local/Cellar/boost/1.60.0_1 (11,139 files, 436.5M) * 
    Poured from bottle 
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/boost.rb 
+2

Nicea ! To działało dla mnie w XCode 5, ale dodałem do '/ include /', a nie do katalogu boost. – Claudiu

+0

Zrobiłem dowiązanie symboliczne w moim homediorze do piwnicy/boost/1.49.0 dir – neoneye

+0

Moja ścieżka wyszukiwania nagłówków wygląda następująco: $ (HOME)/boost_1_57_0/include – neoneye

5
[email protected]: ~/work $ brew install boost 
[email protected]: ~/work $ ls -l /usr/local/include/boost 
lrwxr-xr-x 1 mic wheel 36 Nov 27 01:06 /usr/local/include/boost -> ../Cellar/boost/1.56.0/include/boost 

hi dodam /usr/local/include w Header Search Paths (z kliknij go dwukrotnie, ale Debug lub inne kontrole sub), następnie

#include <boost/asio.hpp> 
#include <boost/date_time.hpp> 

using namespace boost; 

int main() { 
    asio::io_service io; 

    io.run(); 
    return 0; 
} 

pracował: D

+0

Dlaczego 'ls -l', a nie' ln -s'? –

+0

@IgorGanapolsky Proszę '$ man ls' – micfan

5

Śledziłem henrikstroem za wielki post, tak:

zainstalować poprzez homebrew, zajęło mniej niż 3 minuty

mac:~ woz$ brew install boost 
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/boost-1.57.0.yosemite.bottle.tar.gz 
######################################################################## 100.0% 
==> Pouring boost-1.57.0.yosemite.bottle.tar.gz 
    /usr/local/Cellar/boost/1.57.0: 10572 files, 439M 
mac:~ woz$ 

Tworzenie dowiązania w homedir

mac:~ woz$ cd 
mac:~ woz$ ln -s /usr/local/Cellar/boost/1.57.0 boost_1_57_0 
mac:~ woz$ 

Wewnątrz Xcode odnoszą się do nowo utworzonego dowiązania symbolicznego jak ten

Xcode build settings for boost

Dla Header Search Paths użytku $(HOME)/boost_1_57_0/include

Do korzystania Library Search Paths$(HOME)/boost_1_57_0/lib

+0

Próbuję replikować to dla' bind' ale odmawia pracy, '#include ' stale pobiera oznaczony jako "nie znaleziono pliku" . –

Powiązane problemy