[C++ SDL_ttf] problem z kompilacją

0

mam program skopiowany z jakiegoś tutoriala:

#include <cstdlib>
#include <iostream>
#include <sstream>      
#include <SDL/SDL.h>
#include <SDL/SDL_ttf.h>

int main(int argc, char *args[])  
{
  SDL_Init(SDL_INIT_EVERYTHING);  
  //tak zrodził się świat i wszystko wraz z nim
  SDL_Surface *ekran = NULL;    //przestrzeń ekranu
  ekran = SDL_SetVideoMode(640,480,32,SDL_SWSURFACE); 



/* inicjujemy SDL_ttf*/
if(TTF_Init()!=0) /* 0 sukces, -1 porażka */
{
     /* Zwracamy błąd, nie udało się zainicjować SDL_ttf */
     fprintf( stderr, "Unable to init SDL_ttf: %s\n",TTF_GetError());
     exit(1);
}
TTF_Font *font;
 
//...
 
/* Pobieramy fonta wielkości 20dpi*/
font=TTF_OpenFont("font.ttf", 20);
if(!font)
{
    fprintf(stderr, "TTF_OpenFont: %s\n", TTF_GetError());
    exit(1);
}

typedef struct{
  Uint8 r; //składowa czerwona
  Uint8 g; //składowa zielona
  Uint8 b; //składowa niebieska
  Uint8 unused; //pole nieużywane
} SDL_Color;

SDL_Surface * text1;
      SDL_Color kolor;
      kolor.r=0;
      kolor.g=0;
      kolor.b=255;
 
/* tworzymy surface z napisem SDL ttf */
text1 = TTF_RenderText_Solid(font, "SDL ttf", kolor);

  SDL_BlitSurface(text1,NULL,ekran,NULL);
  
    SDL_Flip(ekran);
  SDL_Delay(5000);
}

problem polega na tym że kompilator nie pozwala zakończyć kompilacji i w wierszu 49 wyświetla błąd:
"conversion from SDL_main(int, char**)::SDL_Color' to non-scalar type SDL_Color' requested "

używam Dev-C++ w konsolidatorze mam: -lmingw32 -lSDLmain -lSDL -lSDL_image
-lglut32 -lglu32 -lopengl32 -lwinmm -lgdi32 -lSDL_ttf
-lSDL_ttf

ktoś wie co może być nie tak? ewentualnie jak macie jakiś działające wykorzystanie SDL_ttf to też chętnie przyjmę

0

Wywal to typedef struct {...} SDL_Color, poniewaz to samo jest w ktoryms z plikow, ktore zalacza SDL.h, wiec masz redefinicje do ktorej kompilator nie dopusci.

0

dzięki wielkie, wszystko działa ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1