Proyectos => IndieLib => Mensaje iniciado por: setif en 12 de Enero de 2008, 06:49:07 pm

Título: instalación de looverlib ~BASICO~
Publicado por: setif en 12 de Enero de 2008, 06:49:07 pm
hola a todos de nuevo...
Acabo de instalar el visual C++ 6.0

Mi objetivo es comenzar a modificar el ejemplo de surfaces con una animación que me he currado para irle pillando el truco al C

Lo que me pasa es que desde C no habia hecho nada y claro, mi problema es que no sé nada...
llevo varios días buscando información y he llegado a saber que logicamente, hay que decirle al visual dónde están las looverLibrerias así que en:
Tools / Options (include Files)

hay que ponerle la ruta (en mi caso)
C:\LooverLib

y tambien
Tools / Options (Library Files)
C:\LooverLib

Luego compile main del ejemplo de surfaces

tras varios errorres y decirle donde estaban las librerias he logrado 0 errores

lo mismo build surfaces.exe

pero al ejecutar
cambia el modo de pantalla pero no se ve nada
le doy en debug y tras quedarse la pantalla en negro y bloqueada cierro y sale un  error
Unhandled exception in Surfaces.exe (LOOVERLIB.DLL): 0xc0000005: Acess Violation
y el informe
Loaded 'J:\c_Surfaces\Release\Surfaces.exe', no matching symbolic information found.
Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\kernel32.dll', no matching symbolic information found.
Loaded 'J:\c_Surfaces\Release\LooverLib.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\user32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\gdi32.dll', no matching symbolic information found.
Loaded 'J:\c_Surfaces\Release\devil.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\msvcrt.dll', no matching symbolic information found.
Loaded 'J:\c_Surfaces\Release\ilu.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\d3d9.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\d3d8thk.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\advapi32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\rpcrt4.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\version.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\winmm.dll', no matching symbolic information found.

First-chance exception in Surfaces.exe (LOOVERLIB.DLL): 0xC0000005: Access Violation.
The program 'J:\c_Surfaces\Release\Surfaces.exe' has exited with code 0 (0x0).

Total, que tras buscar aqui y por todo el google no logro hacer algo tan básico, que triste...

Si alguien se apiada de mi lo agradeceria infinito, un saludo a todos
Título: instalación de looverlib ~BASICO~
Publicado por: Loover en 13 de Enero de 2008, 12:59:19 pm
¡Hola!

Para compilar el ejemplo que comentas en LooverLib, si abres el archivo de proyecto de vc++6, no tendrás por que enlazar con la LooverLib, pues ya está preparado para eso, con estas dos líneas que hay al principio:
Citar
#pragma comment (lib, "LibHeaders/LooverLib.lib")
#include "LibHeaders/Loover.h"


Lo que necesitas es linkar con la DXSDK, que primero debes bajar de aquí:
http://www.microsoft.com/downloads/details.aspx?FamilyId=4B78A58A-E672-4B83-A28E-72B5E93BD60A&displaylang=en

Sigue estos pasos una vez instalada la DXSDK:
1) Descarga uno de los ejemplos, por ejemplo el de animaciones. Una vez descomprimido, ve a la carpeta release, y cliquea el ejecutable. Comprueba que el ejemplo se muestra (en el caso de animaciones verás unos luchadores moviéndose). Sino te funciona prueba a bajarte las últimas direct3d

2) Abre el proyecto "Animations.dsw" desde visual c++6

3) Si ahora le das a  "Build" te deberá dar este error: Cannot open include file: 'd3d9.h'

4) En Project>Settings>C++>Preprocessor>Additional include directories
Pega la ruta a la carpeta include de la DXSDK, por ejemplo:
C:\Program Files\Microsoft DirectX SDK (November 2007)\Include

5)  En Project>Settings>Link>Input>Additiona library path
Pega la ruta a la carpeta lib>x86 de la DXSDK, por ejemplo:
C:\Program Files\Microsoft DirectX SDK (November 2007)\Lib\x86

6) Ya puedes cliquear en "Build>Build Animation.exe", tras lo cual en la carpeta release se creará el ejecutable "animation.exe"

Prueba a ver.

Tambien puedes, como tu has dicho, poner esas rutas que te he dado en Tools>options, asi te valdran para cada vez que crees un proyecto nuevo. Si decides crear tu un proyecto nuevo en vez de partir desde un ejemplo, asegurate de que lo configuras en "release" desde Build>configurations.
Título: gracias, funciona!
Publicado por: setif en 13 de Enero de 2008, 06:04:35 pm
gracias de verdad, haces honor al nombre de tu libreria ;)
ya habia instalado el SDK, olvidé mencionarlo pero esto que has respondido lo habia hecho copiando y pegando el direct donde estaban los  ( .h ) tras el error que mencionabas del file "d3d9.h" y claro, ante tales burradas por algun lado tenia que explotar !

es que estaba desesperado porque no me gusta preguntar estas cosas tan "fáciles" pero seguro que éste asunto servirá para futuros programadores que espero sean algo menos burros que yo  :oops:

pero se me habia pasado lo siguiente :
1.- el abrir el   .dsw y desde el VC
2. la opción (.4) en ...Preprocessor>Adit incl Directories

gracias por explicar lo de "release" en Buid y por supuesto por todo lo demás incluida la rapidez

El   .EXE   me funciona desde windows, desde el Visual C se me queda la pantalla en negro pero será que he toquiteado algo... ya postearé si descubro qué...

un saludo y mil gracias !
Título: instalación de looverlib ~BASICO~
Publicado por: Loover en 13 de Enero de 2008, 06:22:03 pm
Buenas,

Citar
es que estaba desesperado porque no me gusta preguntar estas cosas tan "fáciles" pero seguro que éste asunto servirá para futuros programadores que espero sean algo menos burros que yo


De burro nada, mucho es suponer que todos los programadores deban conocer todos los entornos. Por eso estoy haciendo ahora unos tutoriales que espero poner pronto.

Lo de "Release", no solo por rapidez, sino porque he visto ejemplos que no funcionaban en "Debug", y aun no se bien por que.

En cuanto a que no te funciona desde visual c si le das a "ejecutar", debe ser algo de que no encuentra las rutas a los archivos. Ejecuta el juego desde su carpeta y ya esta...

Dale caña a LooverLib que dentro de poco va a haber muchos cambios  :)

PD: perdon que no escriba tildes, se le ha ido la parra al teclado, creo que le he cambiado el idioma... :P