utiliser des librairies dans dev c

utiliser des librairies dans dev c - C - Programmation

Marsh Posté le 03-11-2005 à 20:19:56    


      Je voudrais me servir des fonctions d'une librairie scientifique pour un tp: la GSL. Pourrait-on m'indiquer de manière simple et pas a pas tout ce qu'il faut faire sous dev c pour que la compilation se passe bien? U "helloworld" fonctionne mais des que je veux utiliser la bibliotheque, il me met 0 errors et taille du fichier output 0. :pfff:  
 
programme utilisé (copié collé du manuel gsl):
 
#include <stdio.h>
#include <gsl/gsl_qrng.h>
     
     int
     main (void)
     {
       int i;
       gsl_qrng * q = gsl_qrng_alloc (gsl_qrng_sobol, 2);
       for (i = 0; i < 1024; i++)
         {
           double v[2];
           gsl_qrng_get (q, v);
           printf ("%.5f %.5f\n", v[0], v[1]);
         }
     
       gsl_qrng_free (q);
 
       return 0;
     }
     
 
 
erreurs de compilation:
d:\stuffs temps\hello.o(.text+0x25):hello.cpp: undefined reference to `gsl_qrng_sobol'
d:\stuffs temps\hello.o(.text+0x2b):hello.cpp: undefined reference to `gsl_qrng_alloc'
d:\stuffs temps\hello.o(.text+0x5c):hello.cpp: undefined reference to `gsl_qrng_get'
d:\stuffs temps\hello.o(.text+0x98):hello.cpp: undefined reference to `gsl_qrng_free'
 
j'ai pourtant ajouter les repertoires "lib" et "include" dans les parametres du compilateur:
C:\Dev-C++\Include\;C:\Program Files\GnuWin32\include
C:\Dev-C++\Include\G++;C:\Dev-C++\Include\;C:\Program Files\GnuWin32\include
C:\Dev-C++\Lib\;C:\Program Files\GnuWin32\lib\
 
si j'ajoute le repertoire "bin" aussi ca plante mais e pense que c'est normal...
J'ai chercher en vain des tutoriaux expliquant comment faire (peut etre je sais pas chercher aussi.. c'est vous qui me direz)

Reply

Marsh Posté le 03-11-2005 à 20:19:56   

Reply

Marsh Posté le 03-11-2005 à 20:27:15    

Ca sent le -lnom_de_la_lib_qui_va_bien manquant, on dirait.

Reply

Marsh Posté le 03-11-2005 à 20:31:32    

Elmoricq a écrit :

Ca sent le -lnom_de_la_lib_qui_va_bien manquant, on dirait.


 
   ou ou ou c'est qu'il manque?

Reply

Marsh Posté le 03-11-2005 à 20:36:26    

Dans les paramètres de la compilation je dirais. Montre-voir comment tu compiles ?

Reply

Marsh Posté le 03-11-2005 à 20:41:43    

Elmoricq a écrit :

Dans les paramètres de la compilation je dirais. Montre-voir comment tu compiles ?


 
   :ange: ah,  tu veux sans doute parler du fameux fichier makefile que comme c'est dev c qui le genere etque je sais pas quoi lui dire je l'ai pas touché :ange:  (ya pa tout ca en java  , nom de ... :fou: )

Reply

Marsh Posté le 03-11-2005 à 20:42:42    

voila :
 
#####################################
#                                   #
#  Makefile for Project 1
#  Generated by Bloodshed Dev-C++   #
#                                   #
#####################################
 
 
# Compiler
CC=g++
# Parameters given to the compiler
CFLAGS=-s  -IC:\DEV-C_~1\Include\ -IC:\PROGRA~1\GnuWin32\include -IC:\DEV-C_~1\Include\G__~1 -IC:\DEV-C_~1\Include\ -IC:\PROGRA~1\GnuWin32\include -LC:\DEV-C_~1\Lib\ -LC:\PROGRA~1\GnuWin32\lib\ -BC:\DEV-C_~1\Bin\  
# Output filename (*.exe)
OUTPUT="Project 1.exe"
 
# Source files
SRCS="D:\stuffs temps\hello.cpp"  
# Output object files (*.o)
OBJS="D:\stuffs temps\hello.o"  "D:\stuffs temps\rsrc.o"
 
# Standard targets
 
all: compile_res
 $(CC) -c $(SRCS) $(CFLAGS)
 $(CC) -o $(OUTPUT) $(OBJS) $(CFLAGS)
 
compile_res:
 windres --include-dir C:\DEV-C_~1\Include\ --include-dir C:\PROGRA~1\GnuWin32\include --include-dir C:\DEV-C_~1\Include\G__~1 --include-dir C:\DEV-C_~1\Include\ --include-dir C:\PROGRA~1\GnuWin32\include --use-temp-file -I rc -O coff -i "D:\STUFFS~1\rsrc.rc" -o "D:\STUFFS~1\rsrc.o"
 
test: all
 ./$(OUTPUT)
 
clean:
 del *.o
 
mrproper: clean
 

Reply

Marsh Posté le 03-11-2005 à 20:48:11    

Bingo.
 
Doc de la lib GSL :
http://www.gnu.org/software/gsl
 
Et plus exactement la partie "compiling & linking" :
http://www.gnu.org/software/gsl/ma [...] html#SEC11
 
 
Dans la partie "CFLAGS" de ton makefile, ajoute :
 

-lgsl

Reply

Marsh Posté le 03-11-2005 à 20:53:23    

Elmoricq a écrit :

Bingo.
 
Doc de la lib GSL :
http://www.gnu.org/software/gsl
 
Et plus exactement la partie "compiling & linking" :
http://www.gnu.org/software/gsl/ma [...] html#SEC11
 
 
Dans la partie "CFLAGS" de ton makefile, ajoute :
 

-lgsl



 
  Ben ouais mais comme tout ca c'était sous linux je me demandais si ca s'appliquait aussi sous zindoze.  :D  
   Mais c'est normal que ca s'ajoute pas quand dev c genere le fichier? en fait il fait le meme makefile pour tout les progs ou quoi? :??:

Reply

Marsh Posté le 03-11-2005 à 20:54:23    

Du caca dans l tuyau a écrit :

en fait il fait le meme makefile pour tout les progs ou quoi? :??:


 
C'est ce que je dirais : les options de compilation sont minimalistes.
 
Par contre me semble qu'on peut ajouter des options via l'interface ce qui permet de ne pas se taper l'édition manuelle du makefile.

Reply

Marsh Posté le 03-11-2005 à 20:54:47    

-lgsl je l'ajoute a la fin de la ligne CFLAGS?

Reply

Marsh Posté le 03-11-2005 à 20:54:47   

Reply

Marsh Posté le 03-11-2005 à 20:59:05    

je retrouve pas la ligne  
$ gcc -L/usr/local/lib example.o -lgsl -lgslcblas -lm
c'est normal? je suppose que c'est ce -lgsl qui manque?

Reply

Marsh Posté le 03-11-2005 à 21:01:51    

Euh, cette ligne dans la documentation, c'est juste un exemple, hein.

Reply

Marsh Posté le 03-11-2005 à 21:02:05    

j'ai essayé a la fin et apres "-s" ca marche pas mieux..

Reply

Marsh Posté le 03-11-2005 à 21:02:54    

ben je m'en doutais mais il faut que je mette le bon chemin et c'est bon non ? je sais je suis tres nul ...

Reply

Marsh Posté le 03-11-2005 à 21:08:00    

arr me lache pas... j'agonise..  
  stplait copie la ligne originale et mets la modification je suis paumé

Reply

Marsh Posté le 03-11-2005 à 21:12:31    

yvele, c'est toi ?


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 03-11-2005 à 21:12:31    

c'est  pas comme ca:
CFLAGS=-s -lgsl  -IC:\DEV-C_~1\Include\ -IC:\PROGRA~1\GnuWin32\include -IC:\DEV-C_~1\Include\G__~1 -IC:\DEV-C_~1\Include\ -IC:\PROGRA~1\GnuWin32\include -LC:\DEV-C_~1\Lib\ -LC:\PROGRA~1\GnuWin32\lib\ -BC:\DEV-C_~1\Bin\
?

Reply

Marsh Posté le 03-11-2005 à 21:14:10    

Harkonnen a écrit :

yvele, c'est toi ?


  non mais si tu peux maider tu est le bienvenu

Reply

Marsh Posté le 03-11-2005 à 21:21:44    

bon; c'est trop idiot pour que quelqu'un me réponde? dites moi la vérité  :sweat: , je suis prêt a tout entendre. :sweat:  
 
  Les lignes qui sont décrites sur le site ont rien a voir avec mon fichier.  
 
  C'est vital j'ai un tp a rendre pour avant hier ayez pitié :cry:

Reply

Marsh Posté le 03-11-2005 à 21:25:13    

(a rendre par mail pour ceux qui croient que je bluffe)

Reply

Marsh Posté le 03-11-2005 à 21:45:48    

bon ....  j'ai du faire rigoler pas mal de monde, au vu du nombre de "lu". Maintenant je monologue patiemment en croyant toujours un peu qu'une bonne ame e guidera vers les lumières du .exe ...

Reply

Marsh Posté le 03-11-2005 à 21:57:38    

Personnellement, j'ai la flemme de me taper la documentation de GSL à 22h après une journée de boulot intensif.
 
Quant aux options de compilation, édite plutôt ça dans l'interface de dev-cpp (outils => options du compilateur, et ajoute "-lgsl" dans la partie "édition de lien" ).

Reply

Marsh Posté le 03-11-2005 à 21:59:38    

http://forum.hardware.fr/forum2.ph [...] 544&cat=10
 
section [07]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 03-11-2005 à 22:07:44    

Elmoricq a écrit :

Personnellement, j'ai la flemme de me taper la documentation de GSL à 22h après une journée de boulot intensif.
 
Quant aux options de compilation, édite plutôt ça dans l'interface de dev-cpp (outils => options du compilateur, et ajoute "-lgsl" dans la partie "édition de lien" ).


 
  aie , je dois pas avoir a meme version, il a juste "tool configuration" dans "tool" qui ne soit pas une fenetre ou un package ou setup creator... bon c'est pas grave merci quand meme.  

Reply

Marsh Posté le 03-11-2005 à 22:11:02    

Reply

Marsh Posté le 03-11-2005 à 22:17:04    


 
 a ben c'est bon, tu me sauve la vie. Ya tout ce qu'il me fallait merci.
 
     C'est parcque je suppose que le problème est primaire et résolvable par toute personne qui a eu au moins quelques cours en c  alors quand je vois que plein de gens on lu ce topic c'est pour ca que je m'impatientait un peu enfin c'est pas grave.

Reply

Marsh Posté le 03-11-2005 à 22:31:42    

au  fait, pour des gens qui pourraient m'aider, le précédent message, c'est une blague, je cherche toujours. ...Merci...

Reply

Marsh Posté le 03-11-2005 à 22:50:27    


En grève

Je refuse de répondre à un pseudo aussi crade...


---------------
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 03-11-2005 à 22:56:10    

:lol:

Reply

Marsh Posté le 03-11-2005 à 23:08:10    

Emmanuel Delahaye a écrit :

En grève

Je refuse de répondre à un pseudo aussi crade...


 
   oooaaa faut rigoler.  
             Bon, clairement, si j'ai bien compris il faut que je debrouille.

Reply

Marsh Posté le 04-11-2005 à 00:01:45    

Emmanuel Delahaye a écrit :

En grève

Je refuse de répondre à un pseudo aussi crade...


y'a le pseudo, mais y'a aussi la citation que je trouve particulièrement dégueulasse :spamafote:


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 04-11-2005 à 16:26:14    

Harkonnen a écrit :

y'a le pseudo, mais y'a aussi la citation que je trouve particulièrement dégueulasse :spamafote:


 
   Pour ceux qui ont vu "c'est arrivé près de chez vous" ca n'a rien de dégueulasse mais ca tu peux pas comprendre je suppose... :na:

Reply

Marsh Posté le 04-11-2005 à 16:30:17    

Dans "C'est arrivé près de chez vous", il y a tout un contexte qui est établi, et qui ne se retrouve pas dans une citation du forum.

Reply

Marsh Posté le 04-11-2005 à 16:41:57    

Harkonnen a écrit :

y'a le pseudo, mais y'a aussi la citation que je trouve particulièrement dégueulasse :spamafote:


 
 
http://forum.hardware.fr/forum2.ph [...] 544&cat=10  
 
section [09]


Message édité par Du caca dans l tuyau le 04-11-2005 à 19:57:39
Reply

Marsh Posté le 04-11-2005 à 20:40:45    

Du caca dans l tuyau a écrit :

C'est parcque je suppose que le problème est primaire et résolvable par toute personne qui a eu au moins quelques cours en c  alors quand je vois que plein de gens on lu ce topic c'est pour ca que je m'impatientait un peu enfin c'est pas grave.


Ce n'est pas un probleme de C, c'est un probleme d'utilisation de dev c. Il y a plein de gens tres competents en C mais qui ne connaissent pas dev c (moi par exemple).

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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