Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Archivo de cabecera en SDL

Estas en el tema de Archivo de cabecera en SDL en el foro de C/C++ en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 10/08/2010, 13:24
 
Fecha de Ingreso: agosto-2010
Mensajes: 153
Antigüedad: 13 años, 8 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
  #2 (permalink)  
Antiguo 10/08/2010, 13:37
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Archivo de cabecera en SDL

No se como lo tengas en tu editor pero un printf asi
printf("SDL_RESIZABLE %d x %d x %d no compatible. Error: %s\n",
w, h, bpp, SDL_GetError());

Osea dividido en dos lineas no funciona.... supongo que eso no es igual.

Podrias poner el error que dice el compilador, por lo menos el numero de linea!
  #3 (permalink)  
Antiguo 10/08/2010, 13:41
 
Fecha de Ingreso: agosto-2010
Mensajes: 153
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Archivo de cabecera en SDL

si claro, es que asi esta en el tutorial pero no me funciona, en la linea 3
  #4 (permalink)  
Antiguo 10/08/2010, 15:05
 
Fecha de Ingreso: julio-2010
Mensajes: 153
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: Archivo de cabecera en SDL

un printf así, si funciona

Etiquetas: sdl, cabeceras
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:12.