Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1645 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [Dev c++ 4.9.8] Lier une dll a un projet

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Dev c++ 4.9.8] Lier une dll a un projet

n°687341
bobmorton
Posté le 30-03-2004 à 14:16:35  profilanswer
 

Je cherche à utiliser des classes que j'ai mises au sein d'une dll, j'ai ajouté dans la fenetre "outil/option du compilateur/ajouter ces commandes à l'édition de lien" ceci :
-l libFormatCentral.a
J'ajoute que j'ai placé le .dll et le fichier .a dans le meme repertoire. Or voici mon log de compilation :

Code :
  1. Compilateur: Default compiler
  2. Building Makefile: "G:\devtest2\Makefile.win"
  3. Exécution de  make...
  4. make.exe -f "G:\devtest2\Makefile.win" all
  5. g++.exe -c main.cpp -o main.o -I"C:/Utilitaires/Programmation/Dev-Cpp/include/c++"  -I"C:/Utilitaires/Programmation/Dev-Cpp/include/c++/mingw32"  -I"C:/Utilitaires/Programmation/Dev-Cpp/include/c++/backward"  -I"C:/Utilitaires/Programmation/Dev-Cpp/include" 
  6. main.cpp: In function `int main(int, char**)':
  7. main.cpp:9: `FormatCentral' undeclared (first use this function)
  8. main.cpp:9: (Each undeclared identifier is reported only once for each function
  9.    it appears in.)
  10. main.cpp:9: `c' undeclared (first use this function)
  11. main.cpp:9: parse error before `(' token
  12. make.exe: *** [main.o] Error 1
  13. Exécution terminée


 
Comme vous pouvez le constater il n'y a pas de trace du chargement de la dll et donc ce qui devrait fonctionner ne fonctionne pas :(, si quelqu'un pouvait me refiler un tuyau ca me ferait plaisir @+

mood
Publicité
Posté le 30-03-2004 à 14:16:35  profilanswer
 

n°687344
Taz
bisounours-codeur
Posté le 30-03-2004 à 14:18:45  profilanswer
 

là c'est pas un problème de DLL, t'as même pas le prototype de FormatCentral  

n°687356
bobmorton
Posté le 30-03-2004 à 14:24:02  profilanswer
 

Taz a écrit :

là c'est pas un problème de DLL, t'as même pas le prototype de FormatCentral  


en fait cette classe se trouve dans la dll d'ou le probleme

n°687361
Joel F
Real men use unique_ptr
Posté le 30-03-2004 à 14:25:31  profilanswer
 

tu as le .h qui va avec ?

n°687365
bobmorton
Posté le 30-03-2004 à 14:27:12  profilanswer
 

Joel F a écrit :

tu as le .h qui va avec ?


le .a lié a la dll oui effectivement

n°687366
Taz
bisounours-codeur
Posté le 30-03-2004 à 14:27:35  profilanswer
 

bobmorton a écrit :


le .a lié a la dll oui effectivement

moi j'ai mangé une pomme ce matin

n°687367
Joel F
Real men use unique_ptr
Posté le 30-03-2004 à 14:27:47  profilanswer
 

non le .h , le fichier include qui definit les interfaces des fonctions exportées par le DLL

n°687368
Joel F
Real men use unique_ptr
Posté le 30-03-2004 à 14:27:59  profilanswer
 

Taz a écrit :

moi j'ai mangé une pomme ce matin


 
 :pt1cable:

n°687370
bobmorton
Posté le 30-03-2004 à 14:29:33  profilanswer
 

Taz a écrit :

moi j'ai mangé une pomme ce matin


effectivement je répond pas a la question, mais je vois pas bien ce que vient faire un .h la dedans, il a été compilé dans la dll ca devrait suffir non?
apparemment ce qui definit les interfaces pour dev c++ en ce qui concerne les dll se trouve dans des fichiers .a, ca fonctionne sur un mode unix like apparemment


Message édité par bobmorton le 30-03-2004 à 14:31:10
n°687398
Taz
bisounours-codeur
Posté le 30-03-2004 à 14:45:01  profilanswer
 

le truc c'est que c'est toi qui est entrain de compiler.
 
__apparemment__ t'as pas compris grand chose au bibliothèque (statique ou dynamiqueà, ça n'est qu'un entrepot de code binaire. si tu veux pourvoir l'utiliser, ilf aut dire à ton compilateur 1) ce qu'il y a dedans 2) comment l'utiliser
 
comme pour tout fonction, il te faut sa déclaration, donc un .h afin de compiler
ensuite, il faudra linker avec.
 
"g++.exe -c" t'en es encore à l'étape 1), pour le moment g++ en a rien a foutre de où est le code, il gueule parce qu'il sait pas ce que c'est que ton "FormatCentral"

mood
Publicité
Posté le 30-03-2004 à 14:45:01  profilanswer
 

n°687533
bobmorton
Posté le 30-03-2004 à 16:27:50  profilanswer
 

Taz a écrit :

le truc c'est que c'est toi qui est entrain de compiler.
 
__apparemment__ t'as pas compris grand chose au bibliothèque (statique ou dynamiqueà, ça n'est qu'un entrepot de code binaire. si tu veux pourvoir l'utiliser, ilf aut dire à ton compilateur 1) ce qu'il y a dedans 2) comment l'utiliser
 
comme pour tout fonction, il te faut sa déclaration, donc un .h afin de compiler
ensuite, il faudra linker avec.
 
"g++.exe -c" t'en es encore à l'étape 1), pour le moment g++ en a rien a foutre de où est le code, il gueule parce qu'il sait pas ce que c'est que ton "FormatCentral"


Merci bien,je pensais justement que le role du .a etait de centraliser tout ce qui se trouvait dans les .h et de les regrouper pour n'avoir qu'un fichier par dll, du coup je capte pas bien l'intéret de .a, je vais tenter de me documenter un peu plus @+

n°687541
Taz
bisounours-codeur
Posté le 30-03-2004 à 16:31:03  profilanswer
 

ben le .a, c'est le code binaire, le .h c'est grosso modo du vent, pour le compilateur te hurle pas dessus. quand tu compiles, tom compilateur compare les informations que lui donne le .h a l'usage que tu fais dans ton code. dès que c'est bon, il lie ton programme à la bibliothèque. le .h ne sert qu'à la phase de compilation


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [Dev c++ 4.9.8] Lier une dll a un projet

 

Sujets relatifs
Comment Lier des tables avec le gestionnaire de donnéesprojet de jeu de gestion en ligne ...
Recherche programmeurs pour projet RPG[ C++ ] Un projet, 3 fichiers, #include et ou c'est que je me gourre ?
Projet iut infoProjet site
[Projet PHP5 WEB] Recherche d'une "team"[Projet][Java] Idée de projet en informatique à donner
Créer un projet wxWidgets avec Bloodshed Dev-C++ sous Windows 
Plus de sujets relatifs à : [Dev c++ 4.9.8] Lier une dll a un projet


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR