Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicitÓ e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - [Linker error] undefined reference to `vsync'  & simili
Forum - C/C++ - [Linker error] undefined reference to `vsync' & simili

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
fabio194 (Normal User)
Newbie


Messaggi: 5
Iscritto: 28/01/2010

Segnala al moderatore
Postato alle 11:12
Giovedý, 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++

  1. #include <allegro.h>
  2.  
  3.  
  4. void init();
  5. void deinit();
  6.  
  7. BITMAP *buf,*sprite,*sfondo,*sagoma;
  8. PALETTE colori;
  9.  
  10. int yarcere,xarcere,xtabella,ytabella;
  11.  
  12.     void doppiobuffering()//creo schermata
  13. {
  14.  vsync();
  15.  blit(buf, screen, 0, 0, 0, 0, 1200, 900);
  16.  clear(buf);
  17. }
  18.      void player()//creo personaggio
  19.          {
  20.   draw_sprite(buf, sprite, xarcere, yarcere);
  21. }
  22.          void movimento()//creo movimento
  23. {
  24.    if(key[KEY_UP]) {   //su
  25.                 yarcere=yarcere-2;
  26.                 if(yarcere<=0){
  27.                 yarcere=0;
  28.         }
  29.         }
  30.    if(key[KEY_DOWN]){      //giu
  31.                 yarcere=yarcere+2;
  32.                 if(yarcere>=900){
  33.                 yarcere=900;
  34.         }
  35.         }      
  36. }
  37.      void fondale(){ //creo disegno sfondo
  38.                 blit(sfondo,buf,0,0 ,0,0,1200,900);
  39.         }
  40.         void tabella(){ //creo bersaglio
  41.        
  42.         draw_sprite(buf, sagoma, xtabella, ytabella);    
  43.                  
  44.                  }
  45.                  
  46.         void movimentotabella(){  //imposto movimento tabella
  47.                  if(ytabella<=0) {
  48.                                                   ytabella=ytabella+2;
  49.                                                    }
  50.                   if(ytabella>=900) {
  51.                                                   ytabella=ytabella-2;
  52.                                                    }
  53.                  }
  54.  
  55.  
  56. int main() {
  57.         init();
  58.  
  59.         while (!key[KEY_ESC]) {  //programma completo
  60.                 doppiobuffering();
  61.                 fondale();
  62.                 tabella();
  63.                 movimentotabella();
  64.                 player();
  65.                 movimento();/* put your code here */
  66.        
  67.         }
  68.  
  69.         deinit();
  70.         return 0;
  71. }
  72. END_OF_MAIN()
  73.  
  74. void init() {
  75.         int depth, res;
  76.         allegro_init();
  77.         depth = desktop_color_depth();
  78.         if (depth == 0) depth = 32;
  79.         set_color_depth(depth);
  80.         res = set_gfx_mode(GFX_AUTODETECT_WINDOWED, 1200, 900, 0, 0);
  81.         if (res != 0) {
  82.                 allegro_message(allegro_error);
  83.                 exit(-1);
  84.         }
  85.  
  86.         install_timer();
  87.         install_keyboard();
  88.         install_mouse();
  89.        
  90.         buf=create_bitmap(900,1200);            //setto e carico immagini
  91.         clear(buf);
  92.         sfondo=load_bmp("foresta.bpm",colori);
  93.         sprite=load_bmp("arcere.bmp",colori);
  94.         sagoma=load_bmp("bersaglio.bmp",colori);
  95.         xtabella=1990;
  96.         ytabella=1;
  97.         yarcere=1;
  98.         xarcere=10;/* add other initializations here */
  99. }
  100.  
  101. void deinit() {
  102.         clear_keybuf();
  103.         destroy_bitmap(buf);            //le distruggo
  104.     destroy_bitmap(sprite);
  105.  
  106.    destroy_bitmap(sfondo);
  107.    destroy_bitmap(sagoma);
  108. /* add other deinitializations here */
  109. }




spero di aver inserito il codice come codice.

Ultima modifica effettuata da fabio194 il 28/01/2010 alle 11:13


La Musica Ŕ Lo Specchio Del Nostro Essere,
La Programmazione Ŕ Lo Specchio Del Nostro Fare.
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5475
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 11:30
Giovedý, 28/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 ...
PM Quote
Avatar
TheKaneB (Member)
Guru^2


Messaggi: 1787
Iscritto: 26/06/2009

Segnala al moderatore
Postato alle 11:52
Giovedý, 28/01/2010
http://www.allegro.cc/forums/thread/595239

qui hanno avuto lo stesso problema... non fare caso ai numeri di versione (4.2.2) perchŔ il thread Ŕ vecchio, ma usa la stessa tecnica per risolvere il tuo problema.


Software Failure: Guru Meditation
Forum su Informatica, Elettronica, Robotica e Tecnologia: http://www.nonsoloamiga.com
PM Quote
Avatar
fabio194 (Normal User)
Newbie


Messaggi: 5
Iscritto: 28/01/2010

Segnala al moderatore
Postato alle 12:09
Giovedý, 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...


La Musica Ŕ Lo Specchio Del Nostro Essere,
La Programmazione Ŕ Lo Specchio Del Nostro Fare.
PM Quote
Avatar
TheKaneB (Member)
Guru^2


Messaggi: 1787
Iscritto: 26/06/2009

Segnala al moderatore
Postato alle 14:36
Giovedý, 28/01/2010
no, devi passare al compilatore l'opzione "-lalleg", inseriscila nel progetto sotto la voce "Opzioni linker", "C flags" o qualcosa di simile


Software Failure: Guru Meditation
Forum su Informatica, Elettronica, Robotica e Tecnologia: http://www.nonsoloamiga.com
PM Quote
Avatar
fabio194 (Normal User)
Newbie


Messaggi: 5
Iscritto: 28/01/2010

Segnala al moderatore
Postato alle 15:24
Giovedý, 28/01/2010
credo di aver capito! grazie di tutto ora testo su windows xke l emulatore non regge =) siete mitici!


La Musica Ŕ Lo Specchio Del Nostro Essere,
La Programmazione Ŕ Lo Specchio Del Nostro Fare.
PM Quote
Avatar
fabio194 (Normal User)
Newbie


Messaggi: 5
Iscritto: 28/01/2010

Segnala al moderatore
Postato alle 15:41
Giovedý, 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


La Musica Ŕ Lo Specchio Del Nostro Essere,
La Programmazione Ŕ Lo Specchio Del Nostro Fare.
PM Quote
Avatar
TheKaneB (Member)
Guru^2


Messaggi: 1787
Iscritto: 26/06/2009

Segnala al moderatore
Postato alle 16:22
Giovedý, 28/01/2010
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?" :)


Software Failure: Guru Meditation
Forum su Informatica, Elettronica, Robotica e Tecnologia: http://www.nonsoloamiga.com
PM Quote
Avatar
fabio194 (Normal User)
Newbie


Messaggi: 5
Iscritto: 28/01/2010

Segnala al moderatore
Postato alle 20:01
Venerdý, 29/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!!!:k:


La Musica Ŕ Lo Specchio Del Nostro Essere,
La Programmazione Ŕ Lo Specchio Del Nostro Fare.
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo