2012-04-13 13 views
15

No pude incluir boost en xcode. Utilicé las instrucciones de compilación de la documentación de Boost y escribí las rutas de búsqueda en xcode/usr/local/lib y/usr/local/include.Incluir boost en xcode

¡Cualquier ayuda por favor!

Respuesta

9

estoy usando impulso con Xcode 3.2.1 en Mac OS 10.6.8

Tuve problemas con el uso de boost y Xcode hoy, finalmente pude hacerlo funcionar, así que espero que esto ayude:

  1. descarga impulso, me dio la 1.52.0 hoy, descomprimirlo con

  2. instalar impulso:

    en un primer momento que no podía hacer el ./bootstrap.sh, se detuvo después de las primeras líneas. Después de buscar en Google, obtuve la respuesta, porque cuando instalé Xcode hace mucho tiempo, por alguna razón no revisé el "desarrollo de Unix" en las opciones de instalación.En este punto, volver a instalar una nueva versión de Xcode y comprobar la "línea de desarrollo de Unix"

    después de eso, el ./bootstrap y ./b2 install funcionó bien

  3. el ejemplo lambda:

    en este punto, la primer ejemplo debería funcionar bien, si no se trate de añadir /usr/local/include en la ruta de configuración del proyecto/de búsqueda de cabecera

  4. con hilo o cualquier otra cosa que requiere ser construida

    hilos requieren un dylib específico para funcionar: libboost_system.dylib. en mi sistema se encuentra en /usr/local/lib después de la ./b2 install cosita

    en la parte izquierda de la interfaz gráfica de usuario, puede hacer clic en cualquier lugar y seleccione Agregar archivo existente

    si el archivo está oculto se puede encontrar un atajo para llegar a/local/lib usr en el directorio /Developer/SDKs/MacOSX10.6.sdk/usr/local

una vez que el libboost_system.dylib sí aparece en la parte Grupos y archivos de la interfaz gráfica de usuario, debería funcionar

+0

perfecto, desearía poder darle +10 para mantener mi ego de aprendiendo C++ vivo este viernes por la noche! – CjCoax

30

He pasado mucho tiempo intentando que esto funcione. No podía hacer que funcione mediante la descarga de la página principal del proyecto Impulso, por lo que se utiliza en lugar homebrew:

Después homebrew está instalado, he instalado Boost usando:

brew install boost 

o, si usted no tiene python instalado, usando:

brew install boost --without-python 

Sin el --without-python no se instalaría en mi máquina.

  1. En XCode (4.3.3), seleccione el archivo de proyecto en la barra lateral izquierda (arriba) y vuelva a seleccionarlo en el panel del proyecto.
  2. Seleccione la pestaña Configuraciones de compilación y seleccione Todas.
  3. En Rutas de búsqueda, agregue la ruta de búsqueda del encabezado /usr/local/Cellar/boost/1.49.0/include/ y marque la casilla. La ruta ahora debería mostrarse en la Configuración de compilación.

Ahora, puede utilizar:

#include <boost/regex.hpp> 

o lo que sea que necesite del paquete Boost.


En caso de que haya impulso ya instalado, utilice $ brew info boost para obtener la ruta correcta:

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

Niza ! Esto funcionó para mí en XCode 5, aunque agregué '/ include /', no con el directorio boost. – Claudiu

+0

hice un enlace simbólico en mi homedir a la bodega/boost/1.49.0 dir – neoneye

+0

Mi ruta de búsqueda de cabecera es la siguiente: $ (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 

hola, añadir /usr/local/include en Header Search Paths (con doble clic en él, pero depuración u otros controles sub), luego

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

using namespace boost; 

int main() { 
    asio::io_service io; 

    io.run(); 
    return 0; 
} 

trabajaron,: D

+0

¿Por qué 'ls -l', y no' ln -s'? –

+0

@IgorGanapolsky Por favor, '$ ls' hombre – micfan

5

Seguí henrikstroem de gran post, así:

instalar a través de homebrew, tardó menos de 3 minutos

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$ 

Crear enlace simbólico en su directorio raíz

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

Dentro de Xcode se refieren al enlace simbólico acaba de crear como esto

Xcode build settings for boost

Para el Header Search Paths uso $(HOME)/boost_1_57_0/include

Para el uso Library Search Paths$(HOME)/boost_1_57_0/lib

+0

Estoy tratando de replicar esto para' bind' pero se niega a trabajar, el '# include ' pone cada vez marcado como "archivo no encontrado" . –

Cuestiones relacionadas