Allegro et Dev-C++

Allegro et Dev-C++ - C - Programmation

Marsh Posté le 17-09-2005 à 12:18:27    

Bonjour, je suis débutant en programation,
j'ai déja réussi a faire quelques trucs grace aux tutos interessants sur la toile.
Maintenant j'aimerai bien faire marcher allegro...
j'ai installé le pack de Dev-C++ avec le package manager, et au premier programme (format automatique) qui est censé marcher, il me sort des erreurs de l'éditeur de lien...
Quelqu'un pourrait m'expliquer comment fonctionne l'éditeur de lien de ce logiciel ou à défaut me dire le probeme.
 
merci :hello:

Reply

Marsh Posté le 17-09-2005 à 12:18:27   

Reply

Marsh Posté le 17-09-2005 à 12:23:49    

 meme avec les exemples d'llegro il me met des erreurs style:
[Linker error] undefined reference to `_imp__key'  
  [Linker error] undefined reference to `_imp__screen'

Reply

Marsh Posté le 17-09-2005 à 13:36:30    

Reply

Marsh Posté le 17-09-2005 à 13:48:38    


As-tu ajouté la bibliothèque Allegro à ton projet ? C'est sans doute écrit dans le manuel d'Allegro...
 
2 minutes de [:google] http://www.talula.demon.co.uk/alle [...] ngw32.html

Citation :


Using Allegro
 
All the Allegro functions, variables, and data structures are defined in allegro.h. You should include this in your programs, and link with either the optimised library liballeg.a, the debugging library liballd.a, or the profiling library liballp.a. You should include the Allegro DLLs in any software you release to the public.
 
When using a statically linked library, you must define the preprocessor symbol ALLEGRO_STATICLINK before including any of the Allegro headers and link your program against Allegro and the main Win32/DirectX libraries in that order (see the variable LIBRARIES in makefile.mgw). The names of the statically linked Allegro libraries are post-fixed with '_s' so that you will link with either liballeg_s.a, liballd_s.a or liballp_s.a.
 
Don't forget that you need to use the END_OF_MAIN() macro right after your main() function.


Message édité par Emmanuel Delahaye le 17-09-2005 à 13:55:30

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 17-09-2005 à 17:52:16    

merci
 c tres gentil d'avoir répondu...

Reply

Marsh Posté le 20-09-2005 à 18:56:44    

donc voici mon code ,
 

Code :
  1. #include <allegro.h>
  2. int main()
  3. {
  4.    
  5. extern int Allegro_init() ;
  6. extern int set_color_depht(int depht);
  7. extern int Set_gfx_mode(int card, int w, int h, int v_w, int v_h) ;
  8. set_color_depht(16);
  9. Set_gfx_mode(GFX_AUTODETECT,800,600,500,300);
  10. extern int Allegro_exit() ;
  11. return 0;
  12. }
  13. END_OF_MAIN();


 
il me donne toujours des erreurs de liens
 
je cherche surtout a savoir comment éditer les liens avec dev-C++...
 

Reply

Marsh Posté le 20-09-2005 à 19:09:14    

huben a écrit :

donc voici mon code ,

Code :
  1. #include <allegro.h>
  2. int main()
  3. {
  4. extern int Allegro_init() ;
  5. extern int set_color_depht(int depht);
  6. extern int Set_gfx_mode(int card, int w, int h, int v_w, int v_h) ;
  7. set_color_depht(16);
  8. Set_gfx_mode(GFX_AUTODETECT,800,600,500,300);
  9. extern int Allegro_exit() ;
  10. return 0;
  11. }
  12. END_OF_MAIN();



Tu mets un tas de déclaration de fonctions dans ton main(), ça ne fait pas du tout. Il doit en principe y avoir des headers qui vont bien,, ce sont eux qu'il faut inclure.

Citation :

il me donne toujours des erreurs de liens
 
je cherche surtout a savoir comment éditer les liens avec dev-C++...

Il faut indiquer à Dev-c++ le nom des bibliothèques nécessaires à Allegro (xxx.*).
 
Alt-P (projet)
Paramètres
Editeur de liens
Ajouter fichiers
 
Pour ce qu'il y a à ajouter,  je n'en sais pas plus que toi.


Message édité par Emmanuel Delahaye le 20-09-2005 à 19:10:41

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 20-09-2005 à 19:12:14    

j'ai ajouté toutes ces déclarations (moi assi je trouve sa pas beau) parce qu'il me les demandait(il me dit que c'est le premier unsage dans la foncion main si je les déclare pas) mais normalement , si j'arrivais a editer les liens, je devrai pas avoir ce genre de problemes

Reply

Marsh Posté le 20-09-2005 à 19:17:28    

j'ai tenté avec et sans les declarations, de rajouter dans la fenetre des options de projet, page parametres, case éditeur de liens, bouton ajourter fichier... la librairie "libaleg.a" comme dit dans le tuto en anglais

Reply

Marsh Posté le 20-09-2005 à 19:19:47    

huben a écrit :

j'ai ajouté toutes ces déclarations (moi assi je trouve sa pas beau) parce qu'il me les demandait(il me dit que c'est le premier unsage dans la foncion main si je les déclare pas) mais normalement , si j'arrivais a editer les liens, je devrai pas avoir ce genre de problemes


Je t'ai dit qu'il fallait inclure les fichiers d'entête manquants...
 
Un peu de théorie :  
 
http://mapage.noos.fr/emdel/notes.htm#bibliotheque
 
Et puis, il faut peut être vérifier ce que tu tapes : set_color_depht, c'est pas du bon anglais. C'est probablement set_color_depth. Et puis je vois Allegro_..., attention, ce n'est pas pareil que allegro_... Le C est 'case sensitive' (il fait la différence entre majuscules et minuscules). Attention aussi à Set_... et set_...


Message édité par Emmanuel Delahaye le 20-09-2005 à 19:23:45

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 20-09-2005 à 19:19:47   

Reply

Marsh Posté le 20-09-2005 à 19:30:43    

ok je croi que je vois le prob  
avec ce code ca marche
 

Code :
  1. #include <allegro.h>
  2.       int main() {
  3.          allegro_init();
  4.          allegro_message("Hello World!" );
  5.          return 0;
  6.       }
  7.       END_OF_MAIN()


 
je vais essayer de comprendre
 
merci

Reply

Marsh Posté le 20-09-2005 à 19:33:32    

en fait je suis nul...

Reply

Marsh Posté le 20-09-2005 à 20:43:34    

huben a écrit :

en fait je suis nul...


Non, tu es débutant, c'est tout. Il faut être rigoureux. Le C ,c'est comme ça.


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed