Estoy haciendo una aplicacion de consola en C++ pero quiero ocultarla, hace un par de semanas lo hize, pero no recuerdo el parametro que se le pasa, me suena que era /NODEFAULT pero no es....
Uso .NET 2005.
por fin, ya lo encontre, x si a alguien le es útil, configurar el linker como:
/subsystem:windows /entry:main
o mejor en el código:
#pragma comment(linker, "/subsystem:windows /entry:main")
No acabo de comprender cual es la utilidad de esconder el terminal en una aplicación de consola.
¿Porque no creas directamente un proyecto tipo Win32 y listo?
UN VIRUS!!! UN TROYANO!!! :d
jeje, esa es una de las opciones, pero ese no es mi cometido ;)
seguro que habeis usado alguna aplicacion de terceras partes en la que se te muestra una ventana de dos con mensajes (x ejemplo los motores Crystal Space o Irrlicht). Para el programador la linea de comandos esta genial para ver errores, pero para el usuario final queda feo, mejor un archivo de log.
Estoy utilizando Irrlicht el cual es multiplataforma, y podria crear una aplicación basada en dos como en win32, pero para asegurarme que va a funcionar en todas las plataformas e optado por usar una basada en dos.
Esa es la finalidad en mi caso ;)
¿Alguno habeis utilizado Irrlicht y ha comprobado la multiplaforma?
Yo tuve la misma situacion que tu con la libreria multi-todo, al final opte por lo que me dijeron, que es esto:
// Entrada del app
#if defined(_WIN32)
int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int )
#else
int main()
#endif
{
//...
}
El tipo de proyecto en windows debe ser de win32, yo no uso esa constante que puse, pero me parece que el visual studio es la que usa para saber si es o no una aplicacion de windows.
La forma que indicas no la conocia.
A mi me paso lo mismo usando Irrlicht y creo recordar que en dev c++ aparece una opcion en la gestion del proyecto para ocultar la consola. A ver si cuando llegue a casa localizo donde aparecia
Recomiendo la misma solución que plantea Zupervaca, que es la que solemos utilizar en nuestros proyectos multiplataforma.
@Alberizo: si de verdad quieres que tu proyecto sea multiplataforma, te aconsejaría que comenzases a compilar y testear en todas las plataformas desde el principio.
Si quieres que el codigo sea multiplataforma la mejor opcion es la que te da zupervaca.
Si lo que te preocupa es mostrar informacion varia mientras estas programando puedes usar la funcion del VC++ OutputDebugStr que envia un string a la ventana de depuracion del Visual.
Cita de: "zupervaca"Yo tuve la misma situacion que tu con la libreria multi-todo, al final opte por lo que me dijeron, que es esto:
// Entrada del app
#if defined(_WIN32)
int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int )
#else
int main()
#endif
{
//...
}
El tipo de proyecto en windows debe ser de win32, yo no uso esa constante que puse, pero me parece que el visual studio es la que usa para saber si es o no una aplicacion de windows.
La forma que indicas no la conocia.
Gracias por el code, esto lo andaba buscando.