PDA

View Full Version : [C] Problema con tutorial allegro.h


niki89
07-09-2007, 19:29
ciao a tutti compilo il seguente programma:
#include "allegro.h"
BITMAP *buf;
void doppiobuffering() {
vsync();
blit(buf,screen, 0, 0, 0, 0, 320, 200);
clear(buf);
}
int main()
{
allegro_init();
install_keyboard();
set_gfx_mode(GFX_AUTODETECT_WINDOWED, 320, 200, 0, 0);
buf = create_bitmap(320, 200);
clear(buf);
while (!key[KEY_ESC]) {
doppiobuffering();
}
destroy_bitmap(buf);
}

END_OF_MAIN ();

poi mi da i seguenti errori:
Compilazione in corso...
allegro.cpp
c:\allegro\include\allegro\internal\alconfig.h(397) : warning C4312: 'cast di tipo': conversione da 'unsigned int' a 'unsigned char *', di dimensioni maggiori
c:\allegro\include\allegro\internal\alconfig.h(404) : warning C4312: 'cast di tipo': conversione da 'unsigned int' a 'unsigned char *', di dimensioni maggiori
c:\allegro\include\allegro\inline\draw.inl(421) : warning C4312: 'cast di tipo': conversione da 'unsigned int' a 'unsigned char *', di dimensioni maggiori
c:\allegro\include\allegro\inline\draw.inl(435) : warning C4312: 'cast di tipo': conversione da 'unsigned int' a 'unsigned char *', di dimensioni maggiori
c:\allegro\include\allegro\inline\draw.inl(446) : warning C4312: 'cast di tipo': conversione da 'unsigned int' a 'unsigned short *', di dimensioni maggiori
c:\allegro\include\allegro\inline\draw.inl(460) : warning C4312: 'cast di tipo': conversione da 'unsigned int' a 'unsigned short *', di dimensioni maggiori
c:\allegro\include\allegro\inline\draw.inl(471) : warning C4312: 'cast di tipo': conversione da 'unsigned int' a 'unsigned short *', di dimensioni maggiori
c:\allegro\include\allegro\inline\draw.inl(485) : warning C4312: 'cast di tipo': conversione da 'unsigned int' a 'unsigned short *', di dimensioni maggiori
c:\allegro\include\allegro\inline\draw.inl(521) : warning C4312: 'cast di tipo': conversione da 'unsigned int' a 'unsigned int *', di dimensioni maggiori
c:\allegro\include\allegro\inline\draw.inl(535) : warning C4312: 'cast di tipo': conversione da 'unsigned int' a 'unsigned int *', di dimensioni maggiori
d:\documents and settings\niki\documenti\visual studio 2005\projects\allegro\allegro\allegro.cpp(22) : error C4716: '_mangled_main': deve restituire un valore
Il log di generazione è stato salvato in 'file://d:\Documents and Settings\niki\Documenti\Visual Studio 2005\Projects\allegro\allegro\Debug\BuildLog.htm'
allegro - 1 errore/i, 10 avviso/i

come faccio a risolvere qst problema???

variabilepippo
07-09-2007, 20:51
Quale tutorial stai seguendo?

In questa discussione (http://www.gamedev.net/community/forums/topic.asp?topic_id=309828) troverai la soluzione ai tuoi problemi attuali e probabilmente ad alcuni di quelli futuri. :read:

niki89
08-09-2007, 08:20
ciao ho fatto il tutorial da lei dato e non mi funziona uguale
#include "stdafx.h"
#include "allegro.h"
allegro_init(); // Initialize Allegro
install_keyboard(); // Initialize keyboard routines







set_gfx_mode(GFX_AUTODETECT, 640,480,0,0); // Change our graphics mode to 640x480




/********************************************
This function stops the program untill a key
is pressed
********************************************/
readkey();// Wait untill a key is pressed




return(0);
}
END_OF_MAIN();


output
------ Inizio generazione: Progetto: asdd, Configurazione: Debug Win32 ------
Compilazione in corso...
asdd.cpp
c:\allegro\include\allegro\internal\alconfig.h(397) : warning C4312: 'cast di tipo': conversione da 'unsigned int' a 'unsigned char *', di dimensioni maggiori
c:\allegro\include\allegro\internal\alconfig.h(404) : warning C4312: 'cast di tipo': conversione da 'unsigned int' a 'unsigned char *', di dimensioni maggiori
c:\allegro\include\allegro\inline\draw.inl(421) : warning C4312: 'cast di tipo': conversione da 'unsigned int' a 'unsigned char *', di dimensioni maggiori
c:\allegro\include\allegro\inline\draw.inl(435) : warning C4312: 'cast di tipo': conversione da 'unsigned int' a 'unsigned char *', di dimensioni maggiori
c:\allegro\include\allegro\inline\draw.inl(446) : warning C4312: 'cast di tipo': conversione da 'unsigned int' a 'unsigned short *', di dimensioni maggiori
c:\allegro\include\allegro\inline\draw.inl(460) : warning C4312: 'cast di tipo': conversione da 'unsigned int' a 'unsigned short *', di dimensioni maggiori
c:\allegro\include\allegro\inline\draw.inl(471) : warning C4312: 'cast di tipo': conversione da 'unsigned int' a 'unsigned short *', di dimensioni maggiori
c:\allegro\include\allegro\inline\draw.inl(485) : warning C4312: 'cast di tipo': conversione da 'unsigned int' a 'unsigned short *', di dimensioni maggiori
c:\allegro\include\allegro\inline\draw.inl(521) : warning C4312: 'cast di tipo': conversione da 'unsigned int' a 'unsigned int *', di dimensioni maggiori
c:\allegro\include\allegro\inline\draw.inl(535) : warning C4312: 'cast di tipo': conversione da 'unsigned int' a 'unsigned int *', di dimensioni maggiori
d:\documents and settings\niki\documenti\visual studio 2005\projects\asdd\asdd\asdd.cpp(3) : error C4430: identificatore di tipo mancante, verrà utilizzato int. Nota: default-int non è più supportato in C++
d:\documents and settings\niki\documenti\visual studio 2005\projects\asdd\asdd\asdd.cpp(3) : error C2365: '_install_allegro_version_check': ridefinizione. La definizione precedente era 'funzione'
c:\allegro\include\allegro\system.h(78): vedere la dichiarazione di '_install_allegro_version_check'
d:\documents and settings\niki\documenti\visual studio 2005\projects\asdd\asdd\asdd.cpp(3) : error C2078: troppi inizializzatori
d:\documents and settings\niki\documenti\visual studio 2005\projects\asdd\asdd\asdd.cpp(4) : error C4430: identificatore di tipo mancante, verrà utilizzato int. Nota: default-int non è più supportato in C++
d:\documents and settings\niki\documenti\visual studio 2005\projects\asdd\asdd\asdd.cpp(4) : warning C4273: 'install_keyboard': collegamento dll non coerente
c:\allegro\include\allegro\keyboard.h(50): vedere la precedente definizione di 'install_keyboard'
d:\documents and settings\niki\documenti\visual studio 2005\projects\asdd\asdd\asdd.cpp(12) : error C4430: identificatore di tipo mancante, verrà utilizzato int. Nota: default-int non è più supportato in C++
d:\documents and settings\niki\documenti\visual studio 2005\projects\asdd\asdd\asdd.cpp(12) : error C2365: 'set_gfx_mode': ridefinizione. La definizione precedente era 'funzione'
c:\allegro\include\allegro\gfx.h(399): vedere la dichiarazione di 'set_gfx_mode'
d:\documents and settings\niki\documenti\visual studio 2005\projects\asdd\asdd\asdd.cpp(12) : error C2078: troppi inizializzatori
d:\documents and settings\niki\documenti\visual studio 2005\projects\asdd\asdd\asdd.cpp(21) : error C4430: identificatore di tipo mancante, verrà utilizzato int. Nota: default-int non è più supportato in C++
d:\documents and settings\niki\documenti\visual studio 2005\projects\asdd\asdd\asdd.cpp(21) : warning C4273: 'readkey': collegamento dll non coerente
c:\allegro\include\allegro\keyboard.h(69): vedere la precedente definizione di 'readkey'
d:\documents and settings\niki\documenti\visual studio 2005\projects\asdd\asdd\asdd.cpp(26) : error C2059: errore di sintassi: 'return'
d:\documents and settings\niki\documenti\visual studio 2005\projects\asdd\asdd\asdd.cpp(27) : error C2059: errore di sintassi: '}'
d:\documents and settings\niki\documenti\visual studio 2005\projects\asdd\asdd\asdd.cpp(27) : error C2143: errore di sintassi: ';' mancante prima di '}'
d:\documents and settings\niki\documenti\visual studio 2005\projects\asdd\asdd\asdd.cpp(27) : error C2059: errore di sintassi: '}'
d:\documents and settings\niki\documenti\visual studio 2005\projects\asdd\asdd\asdd.cpp(28) : error C2143: errore di sintassi: ';' mancante prima di '{'
d:\documents and settings\niki\documenti\visual studio 2005\projects\asdd\asdd\asdd.cpp(28) : error C2447: '{': intestazione di funzione mancante. Elenco formale di tipo obsoleto?
Il log di generazione è stato salvato in 'file://d:\Documents and Settings\niki\Documenti\Visual Studio 2005\Projects\asdd\asdd\Debug\BuildLog.htm'
asdd - 14 errore/i, 12 avviso/i
puo essere che nono ho installato la libreria bene?

variabilepippo
08-09-2007, 09:16
puo essere che nono ho installato la libreria bene?


A parte gli evidenti errori di sintassi è molto probabile un'installazione "improvvisata", la riga #include "allegro.h" mi pare a dir poco sospetta!

Come includi le librerie di Allegro nel progetto?