2009-09-24 14 views
0

Modifié: Regardez les commentaires ci-dessous. Version courte: L'écran clignote simplement lorsque j'essaie d'exécuter le programme.SDL: Initialisation des problèmes TTF. Peut-être freetype?

int main(int argc, char** args) 
{ 

    bool quit = false; 

    std::ofstream out("error.txt"); 

    if(init() == false) 
    { 
     return 1; 
    } 

    if (load_files() == false) 
    { 
     return 1; 
    } 

    // Render the text 
    message = TTF_RenderText_Solid(font, "The quick brown fox jumps over the lazy dog", textColor); 

    // If there was an error in rendering the text 
    if (message == NULL) 
    { 
     return 1; 
    } 

    // Apply the images to the screen 
    apply_surface(0,0, background, screen); 
    apply_surface(0,150, message, screen); 

    // Update the screen 
    if (SDL_Flip(screen) == -1) 
    { 
     std::cout << SDL_GetError() << '\n'; 
     return 1; 
    } 

    while (quit == false) 
    { 
     while (SDL_PollEvent(&event)) 
     { 
      if (event.type == SDL_QUIT) 
      { 
       quit = true; 
      } 
     } 
    } 

    clean_up(); 

    return 0; 
} 

Répondre

1

Quel est le problème que vous rencontrez? Est-ce qu'il échoue à compiler? A défaut de lier? Vous avez échoué au moment du chargement du programme en raison de DLL/bibliothèques partagées manquantes? Ou échouer à l'exécution?

Est-ce que screen est NULL après l'appel à SDL_SetVideoMode()? Si c'est le cas, vous devez imprimer SDL_GetError(). Si c'est en fait TTF_Init() qui échoue, alors quel est le message d'erreur qui est imprimé?

+0

Échec lors de l'exécution. Je ne vois pas de message d'erreur en cours d'impression parce que l'écran clignote et disparaît. – trikker

+0

Quelle plateforme? Courez-vous à partir de la ligne de commande? Avez-vous essayé de passer par un débogueur? –

+0

Code :: Blocs. C'est simplement un projet SDL, construire, compiler, exécuter. Je sais que TTF dépend de FreeType2 pour gérer les données de police TrueType, je ne suis pas sûr de ce qu'il faut faire avec FreeType2 une fois qu'il est installé. J'ai défini les chemins d'inclusion et de liaison. S'il y a quelque chose qui me manque, ce serait de définir une option de lien (comme -lSDL_image ou -lSDL_ttf), mais je ne suis pas sûr du format correct pour FreeType. – trikker