2010-03-24 18 views
6

He escrito una aplicación C++ de código abierto y funciona bien en Windows y Linux, finalmente obtuve una Mac Mini (con 10.5.8) así que acabo de estar probando la versión de Mac.Cómo iniciar una aplicación mac sin una ventana de terminal

Mi aplicación funciona bien cuando se ejecuta desde el interior de una ventana de terminal y escribiendo ./appname, pero si en vez hago doble clic en él desde el buscador, a continuación, se abre una ventana termnial primero y luego se ejecuta mi aplicación pero no parece establecer el directorio de trabajo en la ubicación correcta para que mi aplicación muera.

¿Cómo hago mi aplicación para que cuando se haga doble clic en ella no abra primero una ventana de terminal y cómo puedo configurar el directorio actual en la ubicación de las aplicaciones automáticamente?

Respuesta

4

Los binarios Mac se configuran para abrirse con el programa 'Terminal'; no hay forma de evitarlo, excepto al hacer un paquete de aplicación completo, o hacer que otro programa lo ejecute a través del system o algo así.

Al hacer doble clic en un archivo binario, la ventana del terminal se abre con ~ como el directorio actual. Le sugiero que use chdir(2) en su programa para asegurarse de que se está ejecutando en el directorio correcto si lo necesita en primer lugar.

+0

¡Eso funcionó! Gracias, ahora mi aplicación se ejecuta pero la ventana de la terminal permanece en la parte superior de la ventana de mi aplicación. ¿Sabes cómo ocultar o cerrar la ventana de la terminal? – KPexEA

+0

@KPexEA: lamentablemente no se puede tener en ambos sentidos: se puede escribir una herramienta de línea de comandos genérica o escribir una aplicación de Mac adecuada con una GUI, con un paquete, .plist, etc. –

+0

@Paul R, yo sí quiero es una aplicación de Mac adecuada. ¿Conoce algún lugar que documente cómo convertirlo en una aplicación adecuada? Estoy usando un archivo MAKE para compilarlo, así que si puedo agregar "make bundle" a mi archivo MAKE que lo empaqueta todo, sería lo mejor. Es un solo exe, no se necesitan archivos de datos separados. – KPexEA

Cuestiones relacionadas