Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Intento hacerlo funcionar en Visual C++ 2005 Expres peeroo..

Iniciado por _16BITGuy_, 21 de Mayo de 2007, 12:25:25 PM

« anterior - próximo »

_16BITGuy_

Buenas, estoy intentando hacer funcioanr la libreria en este IDE ya que me interesa usarlo aqui por serme mas comodo.

El caso es que al compilar me tira el siguente error:

LINK : fatal error LNK1104: no se puede abrir el archivo 'uuid.lib'

He hecho los siguientes paso, aver si algo he hecho mal:

1.Descargo y extraigo el rar preparado para vs, lo extraigo en C:\CRM32Pro.

2.Creo una Variable de entorno de usuario CRM32Pro con la ruta C:\CRM32Pro

3.En VC++ voy a herramientas>opciones>proyectos y soluciones>Directorios de VC++ y añado $(CRM32Pro) en la seccion de ejecutables, inclusion y bibliotecas.

4.Creo un proyecto de codigo existente para compilar el BasicCode.cpp

5.Añado las librerias al proyecto: CRM32Pro.lib y sdlmainIO.lib(tambien probe con sdlmain.lib)

El archivo BasicCode lo tuve que modificar, al parecer VC++ no tiene el archivo windows.h

Quedo asi:


// ---Includes---
#include <CRM32Pro.h>


// ---Prototypes---
void PrintHelp();

// ---Defines---
#define EXAMPLE_VERSION "Example 1: basic code"
#define GFX_RESOURCE "data/gfx.dpf"     // DPF with graphic resources
#define AUDIO_RESOURCE "data/audio.dpf" // DPF with sound resources

// -------------MAIN FUNCTION----------------
int main(int argc,char *argv[])
{
  Uint8       done = 0;
  SDL_Event   event;
  Uint32      cCursor;     // Cursor ID
  SDL_Surface*sBg;         // Background surface
  int         hndClick;    // Click sound

  // -Print help on a window-
  PrintHelp();

  // -Log system initialize-  
  ILogSystem.Init("BasicCode.log",LOG_FILE,LOG_NORMAL,EXAMPLE_VERSION);

  // -CRM32Pro and SDL initialize-
  if(CRM32Pro.Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_TIMER) < 0)
  {
     ILogSystem.Msg(LOG_NORMAL," · [LOG] - Couldn´t initialize CRM32Pro: %s\n",SDL_GetError());
     return 1;
  }

  // -Desired config-
  CRM32Pro.Config.Title = EXAMPLE_VERSION;
  CRM32Pro.Config.Icon = IImage->Load(GFX_RESOURCE,"icono");
  CRM32Pro.Config.bMTFriendly = 1;

  // -Graphics system initialize-  
  if(!CRM32Pro.SetVideoMode())
  {
     CRM32Pro.Quit();
     return 1;
  }
  ICursor->Init();
  cCursor = ICursor->Load(GFX_RESOURCE,"cursor");
  ICursor->Select(cCursor);

  // -Sound system initialize-  
  if(!ISoundFX->Init(44100, AUDIO_S16, 2, 4096))
  {
     ILogSystem.Msg(LOG_NORMAL," · [LOG Warning] - Couldn´t init sound system: %s\n",SDL_GetError());
  }

  // -Time system initialize-
  ITimeSystem->Init();
  ITimeSystem->SetRate(0,20);  // Optional: desired Rendering and Logic Frame Rate

  // -Your code...-
  // Load resources
  hndClick = ISoundFX->SoundLoad(AUDIO_RESOURCE,"click");
  sBg = IImage->Load(GFX_RESOURCE,"background");
  SDL_BlitSurface(sBg,NULL,CRM32Pro.screen,NULL);

  // -Main loop-
  while(!done)
  {
     // Main system update and events loop
     while(CRM32Pro.Update(&event))
     {
        switch(event.type)
        {
           case SDL_MOUSEBUTTONDOWN:
              ISoundFX->SoundPlay(1,hndClick,0);
              break;
           case SDL_QUIT:
              done = 1;
              break;
           case SDL_KEYDOWN:
  if(event.key.keysym.sym == SDLK_ESCAPE) done = 1;
  break;
default:
              break;
        }
     }
  }

  // -Print useful information-
  ITimeSystem->Info();
  ICursor->Info();
  CRM32Pro.VideoInfo();
  CRM32Pro.AudioInfo();

  // -Free resources and exit-
  ISoundFX->SoundFree(hndClick);
  CRM32Pro.FreeSurface(sBg);
  ICursor->Delete(cCursor);
  CRM32Pro.Quit();
  return 0;
}

// --------------------Help STUFF------------------------
// -Print help-
void PrintHelp()
{
char *sMsg;

// Create the message
sMsg = new char[1024];
   strcpy(sMsg,"-----------------------------------------------------------\n");
strcat(sMsg,"                     ");
strcat(sMsg,EXAMPLE_VERSION);
strcat(sMsg,"\n-----------------------------------------------------------\n\n");
strcat(sMsg," Press [ESCAPE] key to exit.\n");
strcat(sMsg,"\n To see further information, open 'BasicCode.log'.\n");
strcat(sMsg,"\n");

// Display the message
   
   #ifdef _LINUX
 printf("CRM32Pro SDK - HelpScreen\n%s",sMsg);
   #endif

// Free the message
delete sMsg;
}
¿Que puede ser?

Javi SJ Cervera

Supongo que habras instalado el Microsoft Platform SDK, y lo tienes añadido a la ruta de include y lib.
== Jedive ==

_16BITGuy_

creo que me lo descargo al instalarlo(el VC++ Express), de todas formas ese sdk creo k hace falta para compilar cualquier cosa, y lo demas si lo puedo compilar, solo esto no.

TheAzazel

buenas!

eso es un rollo del express, en su dia lo probe con el 2005 completo y no me dio problemas (quizas porque instale tambien el platform SDK).

Ese fichero lo puedes encontrar en el platform SDK, luego tendras que incluir el directorio lib de el en tu visual studio, y creo que el windows.h tambien lo puedes encontrar en el mismo platform SDK.

Si no lo encuentras, te paso una copia por email.

Saludos!

_16BITGuy_

tengo el platform instalado, pero lo reinstalare por si las moscas, sino me funciona, ya te pedire, si no te importa, los archivos esos que faltan del SDK.

Un Saludo

TheAzazel

Sin problemas, pasame por un privado tu mail y te los envio.

Suerte!!

PD: creo que el platform SDK viene con algun .but que activa unas cuantas variables de entorno, yo miraria por ahi antes de reinstalar...

_16BITGuy_

Bien, ya reinstale el sdk y ya puedo compilar, aunque algo raro pasa, al darle a compilar debug en el vc++ me sale el programa como si estuviera en otro directorio que ni es debug ni release, por que no me encuentra los archivos de imagenes ni sonido, y al cerrarlo hace un error de infraccion de acceso al escribir en memoria, sin embargo el ejecutabe aparece en debug, y desde ahi funciona perfectamente. tal vez hay algo que desconozco de como funciona esto y no me doy cuenta, pero ya almenos funciona, gracias!

TheAzazel

me alegro que ya funcione la cosa :)

y... estas probando por probar o tienes algo en mente?

suerte!

_16BITGuy_

a que te refieres, con CRM32Pro?, pues a programar videojuegos :P, este veranito cuando ya termine yo el instituto, me voy a pegar una pecha de programar con esta libreria y con otras 2 mas a hacer juegos y algunas cositas mas para musica que tengo en mente, que tengo mil ideas y nada de tiempo pa sentarme a escribir tranquilo jajajaja.

Un Saludo!

Harko

Azza podrias poner una guia detallada de como instalar correctamente la libreria en el Visual Studio 2005 (expreso y no expreso)?

Esque estoy intentando hacerlo funcionar con el studio completo y no me aclaro :roll:

Harko.
-=Harko´s Blog=-
Fui el primer civil en probar el "Lord of Creatures" y ademas usaban mis cascos. :D

-=Portfolio=-

Alguno de mis juegos:
-=Feed The Frog=-

Neroncity

TheAzazel

Cuando lo instale con la VS2005 completa lo unico que hice fue agregar el directorio include y lib donde tenia CRM32Pro y el resto funciono solo...

que problema te esta dando??

perrofeo307

Otra cosa que se puede hacer para solucionar el problema es añadir la siguiente linea a las opciones del linker
/nodefaultlib:uuid.lib

Cita de: "TheAzazel"Cuando lo instale con la VS2005 completa lo unico que hice fue agregar el directorio include y lib donde tenia CRM32Pro y el resto funciono solo...

que problema te esta dando??






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.