C++ y Windows 7 ??

Iniciado por Vaagish, 26 Febrero 2013, 05:18 AM

0 Miembros y 2 Visitantes están viendo este tema.

Vaagish

Buenas! Como andan? Tanto tiempo que no me aparecia..
Hoy tengo una consulta algo gastada quizas, pero es que no encontre la respuesta en san google y me dije, alguien en este hermoso foro ya lo debe saber.. :D
Resulta que hace poco tiempo empeze a programar en visual studio, mas concretamente C++ Nativo en visual studio,, pero al querer realizar un simple "Hola mundo" me tope con una advertencia de Windows 7 que me dice que para correr la aplicacion, me falta un componente,, una dll
Yo vengo de programar en borland, hace muchos años atras y la compatibilidad era perfecta!
Es posible que C++ nativo ya no este tan compatible con Windows 7? ( Por lo cual me imagino, de ser asi,, mucho menos con Win8... )
Bueno, quizas ya han preguntado esto por ahi.. de ser asi, algun alma caritativa que me envie el enlace y borramos esta pregunta..

Gracias!!

naderST

Sin muchos rodeos: Sí se puede compilar en C/C++ tanto en Windows 7 como en Windows 8.

Específicamente qué DLL dice que te falta?

Eternal Idol

Enlaza la RTL estaticamente.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

Vaagish

Hola! Y gracias por responder!
En este momento no estoy en mi computadora,, pero si no mal recuerdo es el "msvcp100.dll",, pero primero les cuento como da el error...
La cosa es asi..
Instale el visual studio 2010 en windows xp, cree un simple .exe en c++ nativo y lo corri en windows xp sin problemas,, no falta nada.. pero al pasar ese mismo .exe a windows 7, ahi salta el problema, falta el .dll
Muy bien, asi que instale el visual studio 2010 en windows 7, y ahora si funciona el .exe
Evidentemente esa libreria me la instala visual studio.. pero eso no es lo importante..

Yo quiero que mis aplicaciones en c++ nativo corran en cualquier windows (xp, 7 y 8) sin tener que descargar una libreria, o mucho peor tener que instalar visual studio,, no tiene sentido... :/

Gracias otra vez!!

x64core

Cita de: Vaagish en 26 Febrero 2013, 19:37 PM
Hola! Y gracias por responder!
En este momento no estoy en mi computadora,, pero si no mal recuerdo es el "msvcp100.dll",, pero primero les cuento como da el error...
La cosa es asi..
Instale el visual studio 2010 en windows xp, cree un simple .exe en c++ nativo y lo corri en windows xp sin problemas,, no falta nada.. pero al pasar ese mismo .exe a windows 7, ahi salta el problema, falta el .dll
Muy bien, asi que instale el visual studio 2010 en windows 7, y ahora si funciona el .exe
Evidentemente esa libreria me la instala visual studio.. pero eso no es lo importante..

Yo quiero que mis aplicaciones en c++ nativo corran en cualquier windows (xp, 7 y 8) sin tener que descargar una libreria, o mucho peor tener que instalar visual studio,, no tiene sentido... :/

Gracias otra vez!!

Librerias tales como esas se tendran que enlazar estaticamente como dijo Eternal Idol ( si quieres que tu Programa funcione en Windows donde no tienen instalada tal li breria ) . Aunque yo en lo personal uso librerias del Propio SO para reemplazar las funciones que necesito o bien implemento las que necesito. Que tipo de funciones estas usando en tu programa? para poderte decir que hacer en ese caso. pero no te preocupes es un caso tan facil de resolver.

Vaagish

Gracias gente!

No uso nada raro,, incluyo el <iostream> y el <conio.h>, luego un using namespace std;

void main()
{
   cout << "Hola mundo";
   getch();
}

Una cosa recontra simple,, pero justamente lo que queria probar era la compatibilidad.. y de entrada con 8 lineas de codigo ya me salta error :/

x64core

Cita de: Vaagish en 26 Febrero 2013, 19:51 PM
Gracias gente!

No uso nada raro,, incluyo el <iostream> y el <conio.h>, luego un using namespace std;

void main()
{
  cout << "Hola mundo";
  getch();
}

Una cosa recontra simple,, pero justamente lo que queria probar era la compatibilidad.. y de entrada con 8 lineas de codigo ya me salta error :/
Tenes dos opciones:
1:Enlazar estaticamente, El .exe llega a tener un tamaño generalmente superior a 1MB
2:usar Win32,  GetStdHandle, Writeconsole. Si utilizas estas funciones tu programa funcionara en cualquier version de Windows.

Además siempre es bueno leer más acerca cada funcion, más funciones:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682073(v=vs.85).aspx

Vaagish

Muchiiisimas gracias x64Core!! Probare luego en casa! Pero 100% seguro que ha de andar ;)  Tnks!