fabio194 (Normal User)
Newbie
Messaggi: 5
Iscritto: 28/01/2010
|
Salve, sto cercando di fare il mio primo programmino di grafica con Dev-C++ ma ognivolta che compilo il file mi da questo tipo di errore e scrive " ld returned 1 exit status " alla fine. Ho girato altri forum in cui dicono che devo includere altri tipi di librerie come "liballeg.a" e simili ma per quanto provi non c'e' modo. Io "smanetto" trammite un emulatore da Ubuntu e mi mi e venuto in mente che potrebbe essere questo il fatidico problema, vi scrivo il codice qui sotto nella speranza che qualcuno mi dia una soluzione, magari facile da interpretare per un ragazzo che ha iniziato a programmare da non piu di 3 mesi... comunque vada grazie del aiuto
Codice sorgente - presumibilmente C++ |
#include <allegro.h> void init(); void deinit(); BITMAP *buf,*sprite,*sfondo,*sagoma; PALETTE colori; int yarcere,xarcere,xtabella,ytabella; void doppiobuffering()//creo schermata { vsync(); blit(buf, screen, 0, 0, 0, 0, 1200, 900); clear(buf); } void player()//creo personaggio { draw_sprite(buf, sprite, xarcere, yarcere); } void movimento()//creo movimento { if(key[KEY_UP]) { //su yarcere=yarcere-2; if(yarcere<=0){ yarcere=0; } } if(key[KEY_DOWN]){ //giu yarcere=yarcere+2; if(yarcere>=900){ yarcere=900; } } } void fondale(){ //creo disegno sfondo blit(sfondo,buf,0,0 ,0,0,1200,900); } void tabella(){ //creo bersaglio draw_sprite(buf, sagoma, xtabella, ytabella); } void movimentotabella(){ //imposto movimento tabella if(ytabella<=0) { ytabella=ytabella+2; } if(ytabella>=900) { ytabella=ytabella-2; } } int main() { init(); while (!key[KEY_ESC]) { //programma completo doppiobuffering(); fondale(); tabella(); movimentotabella(); player(); movimento();/* put your code here */ } deinit(); return 0; } END_OF_MAIN() void init() { int depth, res; allegro_init(); depth = desktop_color_depth(); if (depth == 0) depth = 32; set_color_depth(depth); res = set_gfx_mode(GFX_AUTODETECT_WINDOWED, 1200, 900, 0, 0); if (res != 0) { allegro_message(allegro_error); exit(-1); } install_timer(); install_keyboard(); install_mouse(); buf=create_bitmap(900,1200); //setto e carico immagini clear(buf); sfondo=load_bmp("foresta.bpm",colori); sprite=load_bmp("arcere.bmp",colori); sagoma=load_bmp("bersaglio.bmp",colori); xtabella=1990; ytabella=1; yarcere=1; xarcere=10;/* add other initializations here */ } void deinit() { clear_keybuf(); destroy_bitmap(buf); //le distruggo destroy_bitmap(sprite); destroy_bitmap(sfondo); destroy_bitmap(sagoma); /* add other deinitializations here */ }
|
spero di aver inserito il codice come codice.
Ultima modifica effettuata da fabio194 il 28/01/2010 alle 11:13 |
|
nessuno (Normal User)
Guru^2
Messaggi: 6402
Iscritto: 03/01/2010
|
La vsync sarà una funzione definita nella libreria allegro. Devi aggiungere la libreria in questione (non so se è quella indicata) nelle opzioni di progetto in modo che il linker la possa utilizzare.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità. |
|
TheKaneB (Member)
Guru^2
Messaggi: 1792
Iscritto: 26/06/2009
|
|
|
fabio194 (Normal User)
Newbie
Messaggi: 5
Iscritto: 28/01/2010
|
inutile sono un caso disperato T.T
cioè io devo inserire uno di quei codici in questo modo giusto?
#include " liballeg-4.2.2.so"
o in un altro modo?
mi scuso della mia ignoranza che vi fa perdere tempo prezioso...
|
|
TheKaneB (Member)
Guru^2
Messaggi: 1792
Iscritto: 26/06/2009
|
no, devi passare al compilatore l'opzione "-lalleg", inseriscila nel progetto sotto la voce "Opzioni linker", "C flags" o qualcosa di simile
|
|
fabio194 (Normal User)
Newbie
Messaggi: 5
Iscritto: 28/01/2010
|
credo di aver capito! grazie di tutto ora testo su windows xke l emulatore non regge =) siete mitici!
|
|
fabio194 (Normal User)
Newbie
Messaggi: 5
Iscritto: 28/01/2010
|
x compilare compila xò quando si apre mi dice errore e mi dice termina adesso! son troppo esaurito x capire cos'è quindi passo e chiudo =P
|
|
TheKaneB (Member)
Guru^2
Messaggi: 1792
Iscritto: 26/06/2009
|
almeno abbiamo risolto uno dei problemi
se compila e parte vuol dire che il codice è a posto da un punto di vista di compilazione & linking.
adesso si passa alla fase "vediamo perchè non funziona?"
|
|
fabio194 (Normal User)
Newbie
Messaggi: 5
Iscritto: 28/01/2010
|
Mitico ragazzi! ho tirato via lo sfondo che era un immagine alquanto pesante e ora runna alla perfezzione! appena finisco di creare il mio bel giochetto lo allego... lo so che a pochi interesserà ma e solo per mia soddisfazioen personale! Grazie di tutto!!!
|
|