2009-05-21 12 views
16

Recientemente me he familiarizado con la biblioteca Boost y me gustaría utilizarla en mi proyecto Xcode. Pero, lamentablemente no hay HowTo o preguntas más frecuentes para hacerlo :(Build Boost en Mac con Xcode

¿Cuál es la secuencia de acciones para construir y utilizar bibliotecas Boost en Xcode?

+1

Mac (OSX) es solo una variante de UNIX. Sigue las instrucciones de UNIX. –

+0

Seguí esa publicación y no funcionó para mí. La respuesta de Ferruccio a continuación, hizo el truco. Estoy ganando una apreciación real por MacPorts. Es la magia de tener muchas cosas instaladas correctamente. – Patricia

Respuesta

6

No sé cómo usar Boost de XCode (I no soy un programador Mac), pero impulso edificio se hace generalmente a través de su propia herramienta de construcción, bjam.

Ellos tienen una guía para la construcción de impulso here, y se puede descargar la última versión de bjam here

vez está construido, lo referencia de Xcode de la misma manera que lo haría con cualquier otra biblioteca. debe agregarse a su ruta de inclusión, y las bibliotecas en boost/lib pueden referenciarse para las librerías de impulso que lo requieren.

+0

Debe seguir las instrucciones para compilar en UNIX. – paxos1977

+0

Ya probé bjam. No ayudó :( –

+1

"no ayudó"? ¿Qué quieres decir con eso? – jalf

0

Para la mayoría de las bibliotecas de impulso, no hay nada que compilar, todo está en archivos de encabezado. El resto de las instrucciones son here.

+1

Eso no describe cómo crear un programa con Boost en XCode. Solo describe cómo crear la biblioteca en sí. –

+0

Muchas bibliotecas son solo encabezado hpp, pero muchas necesitan construirse por separado. Consulte: http://www.boost.org/doc/libs/1_45_0/more/ getting_started/unix-variants.html # id22 – Aaron

+0

Agregué en los archivos de encabezado, pero XCode no los reconoce en el formato . Los archivos están en el directorio, pero no son reconocidos. Esto no ayuda . – eb80

27

La manera más fácil que he encontrado para hacerlo es instalar MacPorts, entonces se puede instalar/construcción Boost a través de un solo comando:

sudo port install boost 

además de obtener un acceso similar a otros programas de código abierto. El único inconveniente que he encontrado es que, como cualquier otro sistema de gestión de paquetes, no siempre están actualizados con la última versión.

Si prefiere Homebrew como su gestor de paquetes, el comando es:

brew install boost 
+0

Esto funciona para mis compilaciones de depuración, pero estoy teniendo problemas con las versiones de lanzamiento. Eso funciona para ti? –

+0

@TomA: Me funcionó antes. ¿Qué tipo de problemas tienes? – Ferruccio

+0

ld haciendo caso omiso del archivo /opt/local/lib/libboost_filesystem.dylib, el archivo se creó para el formato de archivo no compatible que no es la arquitectura que se está vinculando (i386) ... y después de eso, varios símbolos indefinidos del sistema y del sistema de archivos aumentan las bibliotecas que fallan para vincular. Funciona para "Build for Running", falla para "Build for Archiving". –

1

He encontrado que para construir Boost 1.41.1 en MacOS, es necesario hacer lo siguiente:

  1. Descargar impulsar 1.46.1 desde aquí: http://sourceforge.net/projects/boost/files/boost/1.46.1/
  2. Desempaquetar el archivo
  3. Abra el terminal, cd al directorio de instalación, y haga lo siguiente:

chmod u + x configure.sh

CD de herramientas/construcción/v2/motor/src

chmod u + x build.sh

luego volver a el directorio de instalación, y:

./configure.sh

Si que se ejecuta con éxito, se le dirá a ejecutar:

./bjam

Eso es todo .. por cualquier razón, es necesario establecer los permisos manualmente antes funcionaría

1

Para construir impulso en IOS 5.1/6.0 o OSX 10.8 Daniel Sefton ha mantenido una guía de utilidad & aquí: (amigable tienda de aplicaciones) Marco http://www.danielsefton.com/2012/03/building-boost-1-49-with-clang-ios-5-1-and-xcode-4-3/

Esto le da una estática que funciona en el simulador o dispositivo sin tener que cambiar cualquier configuración

La utilidad es útil porque automatiza el proceso de establecer indicadores de compilación para las compilaciones de plataforma brazo (dispositivo) x86 (simulador), y luego fusionarlos como lib universal utilizando lipo y empaquetado final como marco estático.

1

Actualmente estoy muy feliz con el uso Script de Pete Goodliffe que crea un marco del paquete fuente de Boost para iOS y Mac. Arrastrar y soltar en un proyecto y funciona!

guardo mi copia de la secuencia de comandos aquí:

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

No recuerdo si esto es sólo una copia del original o si tenía alguna versión modificada en alguna parte; todo lo que puedo decir es que funcionó para mí en iOS & Mac con Xcode 5.0.2 y Boost 1.55

Cuestiones relacionadas