Oppure

Loading
02/02/12 10:09
RiccardoG97
Ho creato una piccola applicazione in C++ che dovrebbe mostrare semplicemente una scritta, usando SDL e SDL_ttf.
Compilo e fino a qui tutto ok.
Poi quando provo a eseguire l'applicazione ricevo questo errore:
"Impossibile avviare correttamente l'applicazione (0xc000007b). Fare clic su OK per chiudere l'applicazione."

Il codice è questo:
#include "SDL.h"
#include "SDL_ttf.h"

SDL_Surface *message = NULL;
SDL_Surface *screen = NULL;
TTF_Font *font = NULL;
SDL_Color textColor = { 255, 255, 255 };

int main ( int argc, char* argv[] )
{
	SDL_Init ( SDL_INIT_EVERYTHING );
	TTF_Init();
	font = TTF_OpenFont ( "/Font.ttf", 28 );
	message = TTF_RenderText_Solid ( font, "Il testo che voglio scrivere",  textColor );
	SDL_BlitSurface ( message, NULL, screen, NULL );
	SDL_UpdateRect ( screen, 0, 0, 0, 0 );
	/*
	Tutto il resto del programma
	*/
	SDL_Quit();
	return 0;
}


Grazie in anticipo
Ultima modifica effettuata da RiccardoG97 02/02/12 10:10
aaa
03/02/12 13:13
andrex91
Il codice è corretto, l'ho provato e funziona.
Può darsi che non ti apra correttamente il font.
Prova a fare un controllo:
TTF_Font* font = NULL;
font = TTF_OpenFont ( "/Font.ttf", 28 );
if( !font ){
//font non aperto correttamente
}


E per sicurezza controlla anche TTF_Init() ( ritorna 0 se inizializzato con successo, -1 altrimenti)
aaa
03/02/12 13:44
anthony015
solitamente l'errore 0xc000007b significa che si sta cercando di eseguire(su un processore a 64 bit) un codice a 32 bit non adeguato per girare su un processore a 64 bit...
a me succedeva quando installai windows xp 32 bit su un processore x64 e cercavo di eseguire determinati programmi(non ricordo quali)...
non so se è questo il tuo caso...
Ultima modifica effettuata da anthony015 03/02/12 15:23
aaa
03/02/12 19:39
RiccardoG97
Anthony015 mi sono informato e difatti è come dici tu. Però provando il programma su un altro pc (32bit) dà un'altro errore:
"Il programma non è destinato all'utilizzo con Windows o contiene un errore."

Andrex91 il codice funziona, si blocca ancora prima di partire...

Se qualcuno sa aiutarmi grazie mille, intanto io continuo a cercare di risolvere il problema...
aaa
03/02/12 21:44
anthony015
potresti cambiare compilatore, oppure passare ad un sistema a 64 bit...
aaa
04/02/12 10:43
RiccardoG97
Sono su un sistema a 64 bit e uso Visual C++, mi sembra strano che dia dei problemi.
aaa
04/02/12 13:06
RiccardoG97
Sono riuscito a farlo funzionare su un sistema a 32 bit con VisualC++. Il problema stava in una .dll che non era compatibile con il sistema. Ora cercherò la soluzione per farlo funzionare anche in sistemi a 64bit e quando la troverò la posterò. Grazie a tutti :)
aaa