Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/08/2010, 13:24
davidtadeo
 
Fecha de Ingreso: agosto-2010
Mensajes: 153
Antigüedad: 14 años, 3 meses
Puntos: 1
Archivo de cabecera en SDL

Hola a todos, fijense que tengo aqui un archivo de cabecera, una funcion la cual me indica con que valores es compatible el video de mi maquina, la cosa es que cuando lo compilo me sale el error:

IN FILE INCLUDED FROM MAIN.C

y pues no se que hacer, tengo mi archivo de cabecera como:

compatibilidad_vide.h

Código C:
Ver original
  1. void compatibilidad_video_sdl(int w, int h, int bpp)
  2. {
  3.  
  4.  // Nuestro "rectángulo" gráfico con la información de video a mostrar;
  5.  
  6.  SDL_Surface *pantalla;
  7.  
  8.  // Vamos a probar los diferentes parametros de SetVideoMode
  9.  
  10.  // Almacenando la superficie en memoria principal a w x h x bpp
  11.  
  12.  pantalla = SDL_SetVideoMode(w, h, bpp, SDL_SWSURFACE);
  13.  
  14.  if(pantalla == NULL)
  15.  printf("SDL_SWSURFACE %d x %d x %d no compatible. Error: %s\n",
  16.  w, h, bpp, SDL_GetError());
  17.  else
  18.  printf("Compatible con SDL_SWSURFACE %d x %d x %d\n", w, h, bpp);
  19.  
  20.  // Almacenando la superficia en memoria de video a w x h x bpp
  21.  
  22.  pantalla = SDL_SetVideoMode(w, h, bpp, SDL_HWSURFACE);
  23. if(pantalla == NULL)
  24.  printf("SDL_HWSURFACE %d x %d x %d no compatible. Error: %s\n",
  25.  w, h, bpp, SDL_GetError());
  26.  else {
  27.  
  28.  printf("Compatible con SDL_HWSURFACE %d x %d x %d\n", w, h, bpp);
  29.  
  30.  // ¾Es compatible con el doble búffer? Sólo con HWSURFACE
  31.  pantalla = SDL_SetVideoMode(w, h, bpp, SDL_HWSURFACE | SDL_DOUBLEBUF);
  32.  if(pantalla == NULL)
  33.  printf("SDL_DOUBLEBUF %d x %d x %d no compatible. Error: %s\n",
  34.  w, h, bpp, SDL_GetError());
  35.  else
  36.  printf("Compatible con SDL_DOUBLEBUF %d x %d x %d\n", w, h, bpp);
  37.  }
  38.  
  39.  // Blit asíncrono para mejorar rendimiento en máquinas multiprocesador
  40.  pantalla = SDL_SetVideoMode(w, h, bpp, SDL_ASYNCBLIT);
  41.  if(pantalla == NULL)
  42.  printf("SDL_ASYNCBLIT %d x %d x %d no compatible. Error: %s\n",
  43.  w, h, bpp, SDL_GetError());
  44.  else
  45.  printf("Compatible con SDL_ASYNCBLIT %d x %d x %d\n", w, h, bpp);
  46.  
  47.  // Forzamos los bpp en modo ventana
  48.  pantalla = SDL_SetVideoMode(w, h, bpp, SDL_ANYFORMAT);
  49.  if(pantalla == NULL)
  50.  printf("SDL_ANYFORMAT %d x %d x %d no compatible. Error: %s\n",
  51.  w, h, bpp, SDL_GetError());
  52.  else
  53.  printf("Compatible con SDL_ANYFORMAT %d x %d x %d\n", w, h, bpp);
  54.  
  55.  
  56. // Acceso exclusivo a la paleta de color
  57.  pantalla = SDL_SetVideoMode(w, h, bpp, SDL_HWPALETTE);
  58.  if(pantalla == NULL)
  59.  printf("SDL_HWPALETTE %d x %d x %d no compatible. Error: %s\n",
  60.  w, h, bpp, SDL_GetError());
  61.  else
  62.  printf("Compatible con SDL_HWPALETTE %d x %d x %d\n", w, h, bpp);
  63.  
  64.  
  65.  // Modo a pantalla completa
  66.  pantalla = SDL_SetVideoMode(w, h, bpp, SDL_FULLSCREEN);
  67.  if(pantalla == NULL)
  68.  printf("SDL_FULLSCREEN %d x %d x %d no compatible. Error: %s\n",
  69.  w, h, bpp, SDL_GetError());
  70.  else
  71.  printf("Compatible con SDL_FULLSCREEN %d x %d x %d\n", w, h, bpp);
  72.  
  73.  
  74.  // Crear un contexto OpenGL en la superficie
  75. pantalla = SDL_SetVideoMode(w, h, bpp, SDL_OPENGL);
  76.  if(pantalla == NULL)
  77.  printf("SDL_OPENGL %d x %d x %d no compatible. Error: %s\n",
  78.  w, h, bpp, SDL_GetError());
  79.  else
  80.  printf("Compatible con SDL_OPENGL %d x %d x %d\n", w, h, bpp);
  81.  
  82.  
  83.  // Crear un contexto OpenGL en la superficie y
  84.  // permitir renderizado opengl
  85.  pantalla = SDL_SetVideoMode(w, h, bpp, SDL_OPENGLBLIT);
  86.  if(pantalla == NULL)
  87.  printf("SDL_OPENGLBLIT %d x %d x %d no compatible. Error: %s\n",
  88.  w, h, bpp, SDL_GetError());
  89.  else
  90.  printf("Compatible con SDL_OPENGLBLIT %d x %d x %d\n", w, h, bpp);
  91.  
  92.  // Permite que la superficie principal pueda cambiarsele el tamaño
  93.  pantalla = SDL_SetVideoMode(w, h, bpp, SDL_RESIZABLE);
  94.  if(pantalla == NULL)
  95.  printf("SDL_RESIZABLE %d x %d x %d no compatible. Error: %s\n",
  96.  w, h, bpp, SDL_GetError());
  97.  else
  98.  printf("Compatible con SDL_RESIZABLE %d x %d x %d\n", w, h, bpp);
  99.  
  100.  pantalla = SDL_SetVideoMode(w, h, bpp, SDL_NOFRAME);
  101.  if(pantalla == NULL)
  102.  printf("SDL_NOFRAME %d x %d x %d no compatible. Error: %s\n",
  103.  w, h, bpp, SDL_GetError());
  104.  else
  105.  printf("Compatible con SDL_NOFRAME %d x %d x %d\n", w, h, bpp);
  106.  
  107.  
  108. }


en la misma carpeta en la que se compila y se crea el ejecutable mi programa, y mi programa es:

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include "compatibilidad_video.h"
  4.  
  5. int main(int argc, char *argv[])
  6. {
  7.   compatibilidad_video_sdl ( 40, 40, 32 );
  8.  
  9.   system("PAUSE"); 
  10.   return 0;
  11. }

todo el codigo ya esta depurado muy bien, yo pienso que tal ves no estoy acomodando mi archivo de cabecera en la carpeta correcta o no se, gracias por su aporte sabiondos