2012-05-14 15 views
11

No soporto XCode, pero realmente amo OpenFrameworks, y sé que funciona en Linux + Win32, así que no veo por qué debería ser dependiente de XCode. Si necesito tener XCode instalado está bien, simplemente no quiero usarlo en absoluto.¿Puedo usar OpenFrameworks en OS X sin tener que usar XCode?

+0

Quiero saber esto también. Acabo de ponerle una recompensa ... aprecio instrucciones detalladas. – daj

Respuesta

11

Xcode usa internamente gcc/llvm. de hecho, desde la línea de comandos puede codificar en un directorio que contenga un proyecto de openFrameworks y simplemente escriba xcodebuild. pero esto no le permitirá editar el archivo del proyecto y agregar un nuevo código fuente, etc.

los archivos makefiles de Linux también se podrían adaptar para trabajar en OSX. ya contienen mucha información necesaria para encontrar los archivos fuente correctos, las rutas de las bibliotecas, etc. Sin embargo, Linux nos permite instalar muchos más componentes como bibliotecas de sistemas compartidas, mientras que en OSX vinculamos la mayoría de las bibliotecas estáticamente, por lo que las rutas de la biblioteca necesitarían ser agregadas. probablemente el mayor problema es que todo tiene que compilarse 32 bits, lo que significa pasar -arch i386 a todas partes, por lo que no puede simplemente instalar bibliotecas dependientes usando Homebrew o MacPorts. estamos en el proceso de transición a 64 bits, pero todavía hay algunas llamadas de QuickTime que requieren que nos celebremos con 32 bits, principalmente para acceder a los dispositivos de captura de video heredados que muchos de nosotros usamos para visión artificial.

como señala @cdelacroix, solo mantenemos archivos de proyecto de Xcode en OSX. esto se debe principalmente a la falta de una alternativa decente. existe una versión de Code :: Blocks para OSX, pero no está muy bien soportado, tiene algunos problemas con el procesamiento gui nativo y tiende a retrasarse con respecto a las otras plataformas. Xcode también es la forma más fácil de instalar una cadena de herramientas en OSX, por lo que para la mayoría de los usuarios es necesario instalar Xcode.

Si obtiene un sistema de compilación basado en makefile funcionando, y estaría interesado en mantenerlo a mediano o largo plazo, considere contribuirlo al repositorio de GitHub, sería aceptado con mucho gusto.

+0

Gracias por la información. Yo uso emacs para todo, así que preferiría no estar atada a un IDE en las versiones osx o linux. Estoy más cómodo con la cadena de herramientas gnu que xcode, así que personalmente preferiría no tener que cambiar entornos de desarrollo solo para usar OF. Claramente no debería ser tan difícil, solo desearía que hubiera más documentación sobre el trabajo fuera de los IDEs. – daj

+0

Los archivos make de Linux son realmente muy inteligentes, usan llamadas de shell para encontrar los archivos de arco, libs y rutas de búsqueda de encabezado. openFrameworks es un sistema complejo, especialmente con el concepto de complementos, hay un archivo addons.make que se analiza en Linux para buscar complementos, pero no se usa en OSX. No estoy seguro de qué otra información necesita. OF está diseñado para ser fácil para los programadores principiantes y todos los equipos centrales usan IDEs, pero como dije las contribuciones siempre son bienvenidas. – damian

2

Necesita Xcode, o al menos un conjunto de compiladores (hay más información disponible here), pero de lo contrario, no, puede editar/trabajar con el código en el editor o entorno que desee.

1

Como @mipadi dijo, no hay ningún requisito para usar Xcode, puedes hacer casi todo lo que haces en Xcode con make o cake o cualquiera de tu sistema de compilación de tu elección. Todo lo que tiene que hacer es encontrar el conjunto correcto de opciones de línea de comando para pasar a las herramientas habituales (compilador, enlazador, tira, etc.) y, a veces, la forma más fácil es ... buscar en la ventana de compilación de Xcode cómo está haciendo cosas (expande las líneas con el pequeño botón a la derecha de cada línea).

Por ejemplo, puede vincular con su marco de trabajo preferido con ld -framework Framework -FPathToFramework foo.o o su biblioteca dinámica con ld -lLib -LPathToDylib foo.o. Es posible que deba aprender sobre @rpath, @loader_path y install_name_tool para enviar una aplicación empaquetada autónoma.

En cuanto a OpenFrameworks, el "requisito" para Xcode es que los autores decidieron mantener solo los archivos del proyecto Xcode. Acabo de ver cómo lo hacen, envían el código fuente y los archivos del proyecto Xcode que crean bibliotecas estáticas, por lo que será aún más simple para ti (aunque tendrás que vincular las dependencias de la biblioteca a mano). Tendrás que elegir entre compilar todo desde la fuente en tu sistema de compilación (si quieres más poder de personalización sin tocar Xcode), o solo producir las 2 bibliotecas estáticas (openFrameworks.a y openFrameworksDebug.a) con Xcode una vez, luego usarlas en su sistema de compilación (recomendado hasta que realmente necesite una personalización continua).

2

Aquí hay un enlace a un archivo MAKE que compilar una aplicación Openframeworks en OSX:

https://gist.github.com/labe-me/1190981

Coloque el makefile en el directorio de las aplicaciones y ejecutar make. Probado en OsX 10.6, pero aún no lo he probado con complementos.

5

As of March 2013, openFrameworks tiene soporte oficial para archivos de compilación de la biblioteca. Sin embargo, en el momento de escribir este documento, los cambios aún no se han fusionado en la versión estable. Tendrá que clonar el Git repository y cambiar a la rama de desarrollo.

git clone https://github.com/openframeworks/openFrameworks 
cd openFrameworks && git checkout develop 
cd libs/openFrameworksCompiled/project 
make 

Por lo que yo puedo decir, que todavía tienen que utilizar las soluciones no oficiales para compilar aplicaciones en contra de la biblioteca.

+0

Corrección secundaria: quiere pagar 'desarrollar' y no 'desarrollo'. ¡Muchas gracias por esto! –

Cuestiones relacionadas