Cómo comstackr para OS X en Linux o Windows?

Me gustaría transferir mis aplicaciones C / C ++ a OS X.

No tengo una Mac, pero tengo Linux y Windows. ¿Hay alguna herramienta para esto?

Parece haber algunos scripts que se han escrito para ayudarte a configurar la comstackción cruzada para Mac; No puedo decir qué tan buenos son ni cómo es aplicable a su proyecto. En la documentación, se refieren a estas instrucciones para la comstackción cruzada de 10.4, y estas para la comstackción cruzada de 10.5; Esas instrucciones pueden ser más útiles que la secuencia de comandos, dependiendo de qué tan bien la secuencia de comandos se adapte a sus necesidades.

Si su progtwig es gratuito o de código abierto, entonces puede que desee crear un archivo de puerto MacPorts (documentación aquí ) y permitir a los usuarios crear su progtwig utilizando MacPorts; esa es generalmente la forma preferida de instalar un software portátil de código abierto o gratuito en Mac OS X. Se sabe que MacPorts se ejecuta en Linux en el pasado, por lo que es posible desarrollar y probar su archivo Portfile en Linux (aunque obviamente necesitará para ser probado en una Mac).

Para Linux, existe un comstackdor cruzado GCC precomstackdo (de las fonts de GCC modificadas de Apple disponibles públicamente).

https://launchpad.net/~flosoft/+archive/cross-apple

Actualización para 2015

  1. Después de tantos años, el IDE estándar de la industria ahora es compatible con OSX / iOS / Android.

http://channel9.msdn.com/Events/Visual-Studio/Connect-event-2014/311

  1. RadStudio de Embarcadero también admite la construcción de aplicaciones OSX / iOS / Android en Windows.

  2. Esta respuesta de Thomas también proporciona una herramienta de comstackción cruzada.

Para todas estas opciones, aún necesita un verdadero dispositivo Mac / i para probar la aplicación.

Creé un proyecto llamado OSXCross que apunta a OS X (10.4-10.9) desde Linux.

Actualmente es compatible con clang 3.2 hasta 3.8 (troncal) (puede usar el clang su dist).
Además, puede construir un GCC vainilla actualizado también (4.6+).

LTO funciona también, para ambos, clang y GCC .

Actualmente usa cctools-870 con ld64-242.

https://github.com/tpoechtrager/osxcross

  1. Obtenga ” VMware Player ”
  2. Obtener “imagen de Mac OS X vm ”
  3. Comstack / depura / integra y prueba tu código en el nuevo sistema operativo para asegurarte de que todo funciona

Cuando intenta obtener algo que funcione en múltiples plataformas, absolutamente debe comstackr / ejecutar / integrar / probar en la plataforma deseada. No se puede simplemente comstackr / ejecutar en una plataforma y decir “oh debería funcionar igual en la otra plataforma”.

Incluso con un muy buen lenguaje multiplataforma como Java, se encontrará con problemas donde no funcionará exactamente igual en la otra plataforma.

La única forma que he encontrado que respeta mi tiempo / productividad / capacidad de iterar rápidamente en múltiples plataformas es usar una VM de las otras plataformas.

Hay otras soluciones como arranque dual y otras que no he mencionado, pero creo que no respetan mi productividad / tiempo.

Tome doble arranque como un ejemplo:

  1. Hago un cambio en el sistema operativo 1
  2. reiniciar en OS 2
  3. olvida algo en OS 1
  4. reiniciar en OS 1
  5. hacer un cambio en el sistema operativo 1
  6. reiniciar en OS 2 … OTRA VEZ

BAM va 30 minutos de mi tiempo y no he hecho nada productivo.

Necesitarías una cadena de herramientas para realizar una comstackción cruzada para mach-o, pero incluso si la tuvieras, no tendrás las bibliotecas de Apple para desarrollar. No estoy seguro de cómo podrías portar sin ellos, desafortunadamente.

El desarrollo de Apple es una extraña bestia en sí misma. OS X usa un puerto de GCC con algunas modificaciones para que sea ‘appley’. En teoría, es posible utilizar las fonts de Apple GCC y toolchain, así como también el kernel de Apple y los encabezados de las bibliotecas y comstackr un comstackdor cruzado en su máquina con Windows.

Por qué querrías ir por este camino está más allá de mí. Puedes tener un Mac mini barato de $ 600. El tiempo que invierta para que un comstackdor cruzado funcione correctamente (particularmente con un host de Windows para herramientas de Unix) probablemente le cueste más de $ 600.

Si está realmente interesado en hacer que su aplicación sea una plataforma cruzada, busque en Qt, wxWidgets o FLTK. Todos brindan soporte multiplataforma con cambios mínimos al código base. Al menos, de esa manera todo lo que necesita hacer es encontrar una Mac para comstackr su aplicación, y eso no es demasiado difícil de hacer si tiene amigos técnicamente a quienes no les importa darle acceso SSH a su Mac.

Definitivamente necesitarás OS X de alguna manera. Incluso si no tienes una Mac, aún puedes probar algunas alternativas .

Encontré esta pequeña documentación en la red: http://devs.openttd.org/~truebrain/compile-farm/apple-darwin9.txt

Esto describe exactamente lo que quieres. Estoy interesado en él mismo, aunque aún no lo he probado (lo encontré hace 10 minutos). La documentación parece buena, sin embargo.

Puede contratar un mac en la nube desde este sitio web. Puedes contratarlos desde $ 1, lo cual debería ser suficiente (a menos que necesites acceso de root, entonces estás viendo $ 49 +).

Existen algunas configuraciones de comstackdor cruzado, pero casi todas están diseñadas para la comstackción distribuida estilo distcc. Que yo sepa, no hay forma de apuntar directamente a la plataforma Mac sin tener una Mac. Lo más cercano que puede obtener sin recurrir a QT o wxWidgets es OpenStep con GNUStep o similar, pero esa no es una verdadera plataforma de Cocoa, solo muy cerca.

La respuesta corta es algo así como Tendrá que usar una biblioteca multiplataforma como QT . Hay IDE como QT Creator que te permitirá desarrollar en un SO y generar Makefiles para otros. Para obtener más información sobre el desarrollo multiplataforma, consulte los episodios multiplataforma de este podcast (tenga en cuenta que la serie no ha terminado y que aparecen nuevos episodios cada semana).

Como explican otras respuestas, probablemente pueda comstackr para una Mac en Windows o Linux, pero no podrá probar sus aplicaciones, por lo que probablemente deba gastar los $ 600 para una Mac si está realizando una progtwigción profesional, o si está trabajando en software de código abierto, encuentre un desarrollador con una Mac que lo ayude.