Ir al contenido

publicidad

Foto

Problemas para Ejecutar mis Programas C++ en Otras PC Tira ERRRO


Este tema ha sido archivado. Esto significa que no puedes responder en este tema.
7 respuestas en este tema

#1

Escrito 10 julio 2012 - 19:56

Hola

hoy les traigo un problema estoy desarrollando los codigo de mis videojuegos..

pero ayer me da la gana de enceñarle mi ultimo prototipo de juego Consola a mi amigo
en su PC. Asi que lleve mi projecto en una Memoria USB a su casa con todos sus cogigo

Archivos CPP ,HEADTHER, Etc ..

pero cuando lo bamos a provar aya en su casa me tira error Me dice k el software esta mal configurado y Experimente en Otras PC y tabien:cabreado:asi k Pence y me dije :

(¿TAL VES SE MI COMPILADOR EL QUE TIENE EL PROBLEMA? ) Yo usaba el Visual C++ 2008 ..

y como me daba ERROR:cabreado:Pos cambie al Visual Studios 2010 Ycomo quieraaaaaaaaaa:cabreado::cabreado::cabreado:...


Estoy muy Enojado porque si soy un desarrollador de videojuegos se supone que mis juegos funcionen en todas las PC O es k solo estado programando para mi :| Mardita sea....


si Alguien Sabe cual es mi Problema Y como Solucionarlo Porfavor Ayuden me Comente plase..

A y otra cosa En el Visual C++ 0.6 SI ME FUNCIONA PERO TENGO PROBLEMAS CON LA LIB WINDOWS.H HAY y para mis juegos necesito usarla :|

asi que por eso e estado programando en los otro 2 Compiladores ..

Bueno ya saben si hay alguien que pueda sacarme de de este Enfado antes de que me pegue un Tiro porfavor salve me ...

saludos DarkBoy152

  • Ollydbg

  • Sheikah

  • vida restante: 100%
  • Registrado: 05 sep 2008
  • Mensajes: 6.259
#2

Escrito 10 julio 2012 - 20:46

Hola DarkBoy152

Primero y espero que no te lo tomes a mal, deberías intentar escribir un poco (mucho) mejor. A don Miguel de Cervantes Saavedra le daría un infarto de corazón al ber semegantes patadaz al dizionario. En cerio, se ace mui difizil ler tus ilos. Una cosa es el hoygaismo ocasional pero lo tuyo es de master level pro 99+

Sobre tu problema no soy un experto en C++, pero juraría que quizás tenga algo que ver si has compilado tu código en modo Debug o en modo Release

Es posible que al compilar el código en modo Debug el ejecutable esté linkado a la librería MSVCR90D.dll en lugar de estar linkado a la librería MSVCR90.dll cuando el código se establece como Release.

No sé si en C++ puedes establecer la arquitectura de compilación (seguro que se puede, pero no sé como hacerlo, puesto que ya te he dicho que no soy un experto en C++).

En .NET (C# / VB.NET) cuando estableces la arquitectura del compilador, por defecto está configurado cómo Any CPU.
Si compilas en Any CPU desde una máquina de 64 bits, ese ejecutable no funcionará en una máquina de 32 bits.
Sin embargo si cambias la arquitectura del compilador y estableces en lugar de Any CPU la arquitectura x86, aunque compiles el código desde una máquina de 64 bits, funcionará tanto en esa máquina de 64 bits como en una máquina de 32 bits.

PD: Antes de tener un código de cientos de clases, etc, compila esto:
[code:1]
void main()
{
}
[/code]
y pruébalo en el PC de tu amigo. Si tienes problemas con un programa de 3 líneas, no te quiero ni contar lo que te espera ;)

#3

Escrito 18 julio 2012 - 05:55

Si ese Era mi Problema, Pero no pude Solucionarlo.

Entonces bol vi a Usar el Visual Studios 0.6 Y me esta hiendo Muy bien con el.

Creo que me quedare con ese.

Comen se a Utilizar los Otros Compiladores porque el Entorno de Desarrollo
era mas como do. Pero Auque Visual Studios 0.6 es Antiguo, ha mi me Tiene Conforme . :]

  • Ollydbg

  • Sheikah

  • vida restante: 100%
  • Registrado: 05 sep 2008
  • Mensajes: 6.259
#4

Escrito 18 julio 2012 - 13:52

Hola DarkBoy152

Aún no siendo un experto en C++ no te recomendaría seguir usando Visual Studio C++ 6.0

Tienes una versión totalmente gratuita (El Visual Studio 6.0 Professional / Enterprise tienen de gratuito lo que yo de físico nuclear, amén de que no sé si considerarlo casi "Abandonware") desde la página de Microsoft:

Visual Studio 2010 Express (http://www.microsoft...ditions/express)

Además, es posible que ya no exista soporte para dicho entorno, tendrás problemas para instalaro y/o configurarlo en sistemas de 64 bits, un montón de librerías no serán compatibles, etc.

Eso por no decir que la bibliografía / páginas que puedas encontrar por internet cada vez sean menos.
Esto último es posible que en el caso de tratarse de C++ no sea tan crítico como por ejemplo en el caso de Visual Basic.
Hace varios años no tenías problemas en encontrar páginas y páginas con ejemplos, tutoriales, etc sobre Visual Basic 5/6. Intenta buscar esos mismos tutoriales hoy en día. Las páginas o bien no existen o la documentación que puedas encontrar es mínima.

Repito que en el caso de C++ 6.0 puede que la situación no sea así. De hecho es posible (ojo, no tengo ni idea de C++) que un código escrito en Visual Studio C++ 6.0 compile perfectamente en Visual C++ 2010 Express, pero la tendencia natural es ir migrando hacia entornos de programación más modernos.

Como último apunte, si a la mínima de cambio te topas con un ligero contratiempo y no sabes solucionarlo tienes un grave problema y deberías intentar solventar dicho problema entes de intentar programar "el nuevo Counter Strike que ríase Vd. de los mataos de Valve".


PD: Te doy la enhorabuena, has escrito correctamente "Solucionarlo" y "Utilizar"

Bol vi ---> volví
hiendo ---> yendo
Comen se ---> Comencé
como do ---> cómodo
ha mi ---> a mí

#5

Escrito 18 julio 2012 - 15:17

Bueno se que es bueno Utilizar los Nuevos Software de Programacion.

Pero el caso es que el lenguaje sigue siendo el mismo.
No tienen modificaciones.

La Diferencia es que los modernos Compiladores de C++ traen mas Librerias Con ellos .

pero yo puedo descargarlas Y Agregarlas O Registrarlas Al Directorio de Mi Compilador C++ 0.6

PERO ES COMO TE DIGO el lenguaje sigue siendo el mismo.

la diferencias son las Nuevas Librerias.


A. y con respecto A mi problema de Gramatica No te das cuenta que la Mayoria de las Palabras tienen ( Acento ) ..... no se como escribir con Acento :D

y la primera ves lo que paso es que esta ba enojado.

y lo escribi todo a lo que salga :-D .

  • gotenx

  • Sheikah

  • vida restante: 100%
  • Registrado: 13 ene 2008
  • Mensajes: 4.257
#6

Escrito 18 julio 2012 - 16:02

El lenguaje no es casi el mismo, C++ no ha cambiado tanto como otros, pero ya tenemos C++11 con un monton de cosas nuevas como Smart Pointers y esas cosas.
Ademas, nadie te va a ayudar con Visual C++ '0.6'.

Y lo de las tíldes (Que no acento) es lo de menos, pero mínimamente te podrías dignar de releer el post y corregír algunas faltas de ortografía como "esta ba", aunque este ultimo mensaje mejora bastante X-D

  • Ollydbg

  • Sheikah

  • vida restante: 100%
  • Registrado: 05 sep 2008
  • Mensajes: 6.259
#7

Escrito 19 julio 2012 - 17:48

Hola DarkBoy152

Teniendo en cuenta que no tengo ni idea de C++ y menos idea de OpenGL es posible que alguno de los pasos que indico a continuación no sea del todo correcto.

Sin embargo verás como es posible "distribuir" una aplicación escrita con Visual C++ 2010 y que haga uso de OpenGL.

Nota: Si esto lo he conseguido hacer yo en menos de 2 horas partiendo de la base que a mi el C++ es como si me hablan en chino mandarín y que de OpenGL conozco 0.0, entiendo que no tendrías que tener problemas. (Será que no hay toneladas de documentación por internet y foros)

Bueno, por lo que he leído es necesario una librería para programar con MS C++ bajo Windows: GLUT

Desde el siguiente enlace se puede descargar la última versión:
http://user.xmission...~nate/glut.html

Yo me he descargado ya la librería compilada desde la opción:
glut-3.7.6-bin.zip (117 KB)

También te puedes descargar las fuentes de la otra opción por si quieres recompilarla (supongo)

Después de mirar la documentación de la librería hay que hacer varias cosas:

1) Poner el archivo glut32.lib en la siguiente carpeta:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib

2) Crear (si no se tiene) una carpeta llamada GL dentro de la carpeta include

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\GL

Dentro de la carpeta \GL\ hay que copiar el archivo de cabeceras glut.h

3) Finalmente en la carpeta C:\Windows\system
(no confundir con C:\Windows\System32)
hay que copiar la dll ya compilada: glut32.dll

Bien, con estos preparativos "previos" ya podemos crear un nuevo proyecto en el Visual Studio 2010

Para ello creamos un nuevo proyecto de C++, indicamos que es un proyecto de Aplicación Consola Win32 y le damos un nombre.

En la siguiente pantalla pulsamos en siguiente y se nos muestra esta pantalla donde marcaremos que se trata de un proyecto vacío:


Imagen Enviada


En el explorador de soluciones, sobre la carpeta "Archivos de código fuente" añadimos un nuevo elemento de tipo Archivo C++ (.cpp) al que llamanos por ejemplo Inicio

En dicho archivo escribimos nuestro código fuente:


Imagen Enviada


El código completo de Inicio.cpp lo puedes encontrar aquí (pastebin.com)

Cambiamos el destino de la compilación de debug a release y generamos el ejecutable:


Imagen Enviada


Lo ejecutamos y voilá:


Imagen Enviada


Bien, primer paso resuelto. Ahora vamos a por lo interesante: La distribución

En nuestra solución añadiremos un nuevo proyecto. En nuestro caso un proyecto de Instalación e implementación. Para ello usaremos el Instalador de Visual Studio (más que suficiente para nuestros propósitos)


Imagen Enviada


Añadiremos los resultados del proyecto, seleccionando la configuración Release Win32 de la lista de configuración:


Imagen Enviada


En las propideades el proyecto de instalación pulsaremos en los requisitos previos:


Imagen Enviada


Únicamente será necesario marcar las opciones:
Bibliotecas en tiempo de ejecución de Visual C++ 2010 (x86)
Windows Installer 3.1

Adicionalmente seleccionaremos la opción:
Descargar los requisitos previos desde la misma ubicación que la aplicación


Imagen Enviada


Aceptamos todo lo anterior y generamos la solución. Como se puede ver hay un par de advertencias (luego veremos como se soluciona):


Imagen Enviada


Nos vamos a la carpeta donde se ha generado la instalación y vemos:


Imagen Enviada


Si abrimos el fichero *.msi con el Orca vemos realmente los archivos que se van a instalar:


Imagen Enviada


Prueba de Fuego 1)

El programa lo hemos desarrollado y compilado en una máquina con Windows 7 Professional de 64 bits.

Vamos a instalarlo en una máquina con Windows XP con Service Pack 3 y donde no tenemos nada "instalado" del Visual Studio 2010

Ejecutamos el archivo setup.exe y vemos lo siguiente:


Imagen Enviada


El instalador detecta que nuestro Windows XP no tiene esas librerías y necesita que se instalen. Pulsamos en Instalar

Una vez instaladas esas librerías se muestra esto:


Imagen Enviada


El instalador detecta que en nuestro Windows XP no está el "runtime del MS VC++" por lo cual procederá a instalarlo

Una vez finalizada la instalación del "runtime" es cuando realmente se instala nuestra aplicación:


Imagen Enviada


Se establece el directorio de instalación y se procede de forma normal

Al finalizar la instalación se muestra esto:


Imagen Enviada


Bien, la aplicación ya está instalada en nuestro Windows XP

Ejecutando la aplicación en la máquina de la instalación. Prueba 1 ERROR

Bien, ahora abrimos la carpeta donde se ha instalado la aplicación:


Imagen Enviada


hacemos click en el archivo Prog1OGL.exe y ocurre esto:


Imagen Enviada


OMG! tengo un problema y no se que hacer...TUTALOCOOOOOO-OCO-OCO-OCO! (¿eco eco?)

¿Recuerdas los WARNINGS que dieron cuando se compiló la instalación?.

La instalación añade las dlls glu32.dll y opengl32.dll a nuestra solución, pero dichas dlls no son necesarias ya que nosotros hemos usado la dll glut32.dll.
Además, las dlls glu32.dll y opengl32.dll ya están en tu System32 (compruébalo)

¿Solución?..Seguir leyendo.

Ejecutando la aplicación en la máquina de la instalación. Prueba 2 OK

Lo primero que hay que hacer es en nuestro proyecto de instalación excluir las dlls glu32.dll y opengl32.dll
Después hay que incluir la dll glut32.dll

Quedaría algo como esto:


Imagen Enviada


Generamos de nuevo la instalación y vamos an nuestra máquina con Windows XP. Instalamos el programa y vemos que una vez finalizada la instalación en la carpeta tenemos esto:


Imagen Enviada


Hacemos click en el archivo Prog1OGL.exe y .....tachan:


Imagen Enviada


(¿No está mal para alguien que no tiene ni p*** idea de C++ y OpenGL, verdad?)

Seguramente se le podría indicar al compilador que añadiese como dependiencia la dll glut32.dll de forma automática quizás en las Propiedades de configuración >> Vinculador >> Entrada >> Dependencias adicionales, pero no he profundizado más sobre el tema.

El tema está en que si te "ahogas en un vaso" de agua no vas a conseguir nunca nada.
Hay literalmente cientos de miles de páginas / foros / news / manuales en internet que te ayudarán a solucionar tus dudas, puesto que no serás el primero (ni el último) que tiene tus mismos problemas.

Si después de todo este ladrillaco sigues usando el Visual Studio 6.0 (que no '0.6') es para que te lo hagas mirar.

Un saludo...1010010100010101

PD: Si quieres comprobar por tu mismo que la instalación se realiza correctamente tienes la instalación en este enlace (11,7 MB)

#8

Escrito 19 julio 2012 - 23:52

saludos

Muchas Gracias por tu Ayuda.

Me sirve de mucho lo que has publicado.

pero te digo algo, si tu y yo nos vemos en persona un dia. me gustaria discutir varias cosas con usted. Tu te la das en Tripion=( Significa Bromista ), sarcástico Y Sabio, y la verdad me agrada eso porque me inspira A superarme :| .

Megusta que me corijan mis errores, pero aveces me molesta, pero se que los haces para que yo aprenda y te agradezco mucho por eso :D , a si es 6.0 en ves de 0.6 xD .

bueno eso era todo muchas gracias de nuevo Excelente ( explicación =(esa palabra la busque en google xD) ) a pesar de ser medio PRESUMIDO, Eres Excelente Explicando..

bueno gracias y cout<<"Adiosssssssssssssssssssssssssssssssss"<
Nota: si no funciona, es porque me falto la lib #include

O

using namespace std;


Este tema ha sido archivado. Esto significa que no puedes responder en este tema.
publicidad