Creation de bibliotheque - C++ - Programmation
Marsh Posté le 31-10-2002 à 21:51:39
bon deja les librairie qui viennent de toi tu dois les declarer comme ca dans ton code :
#include "matrice.h" et non <matrice.h>
Marsh Posté le 31-10-2002 à 22:46:13
pis le "le probleme est , qd je compile ca ne marche plus !! g pleins d'erreurs", j'aime bpc, ca nous aide a mort
(dis nous plutot les erreurs données par le compilo )
Marsh Posté le 31-10-2002 à 23:04:17
ben change deja ce que je viens de te dire car si le compilo ne trouve deja pas le prototypes de tes fonctions (*.h) et les fonctions elles memes (*.c) il genere des erreurs ....
Marsh Posté le 31-10-2002 à 23:48:11
Bon deja merci à tous !!
J'ai dc modifié l'inclusion de ma librairie entre guillemets...
ca corrige deja pas mal d'erreur!
Mais il m'indique encore 2 erreurs...ki st :
Linker error: undefined symbol _afficheMat in ....(vers le repertoire où se trouve le fichier principal)
et la seconde c la meme avec l'appel de la fonction _sommeMat !!
Euh sinon ma bibliotheque matrice.h doit se trouver obligatoirement ds le repertoire avec les autres bibliotheques ?? ou seulement ds le meme repertoire ke mon fichier principal ??
merci encore !
Marsh Posté le 01-11-2002 à 12:04:18
bon, tes deux fichiers c qui sont a part donc en dehors de ton main et dont les prototypes sont declarés dans un *.h tu les compiles simplement et tu insere dans ton projet principal les *.obj generé par le compilateur. Normalement les erreurs de linker devraient disparaitres...
Bonne chance
et n'hesite pas
Marsh Posté le 01-11-2002 à 14:41:56
J ai fait ce ke tu m'a dit mais il y a tjr les 2 meme erreurs
Linker Error pour afficheMat et pour sommeMat !!
peut tu m'eclairer sur l'erreur linker error ..
merci !
Marsh Posté le 01-11-2002 à 22:46:17
Tes fichiers, ce sont tous des .c ou .h? J'avais déja eu des problemes en combinant les .c et les .cpp
Marsh Posté le 01-11-2002 à 23:28:10
Euh ...
eh bien j'ai 2 fichiers en .c (principal.c et matrice.c)
et 1 en .h (matrice.h)
Marsh Posté le 02-11-2002 à 09:55:19
hmmmmmm c'est bizzare... Tu les compiles avec quelle commande
Marsh Posté le 02-11-2002 à 11:01:08
J'utilise Turbo C++ comme compilateur....je sais c pas tres recent mais on utilise cela !!
Sinon je compile mes fichiers avec la commande compile puis ( il n'y a aucune erreur dans les 3 fichiers)
puis j'execute avec la commande run le fichier principal.....et la 2 erreurs de liens !!
là je n'y comprend plus rien !
Marsh Posté le 02-11-2002 à 11:23:16
Tu pourrais éditer ton premier post? Ca serait plus clair. On dirait que y'a un fichier qui apparait deux fois... Et rajoute aussi des balises spéciales pour le code source, ca sera mieux
Marsh Posté le 02-11-2002 à 11:29:59
voila le post a été edité et j'espere avoir été plus clair
Marsh Posté le 02-11-2002 à 12:48:50
En effet c'est beaucoup plus clair! Maintenant, es tu vraiment sur que ce soit ca que tu essaie de compiler? Car je vois deux erreurs qui devraient t'empecher d'arriver jusqu'a ton probleme : les iterateurs dans afficheMat ne sont pas déclarés; et aussi la variable globale matrice Mat est présente en deux exemplaires dans ton programme : un pour matrice.c et un pour principal.c
Tu as du faire des modifications depuis dans tes fichiers source.
Marsh Posté le 02-11-2002 à 19:56:12
Alors ma variable globale je la met ds le fichier principal et je la supprime de matrice.h ??
sinon je ne comprend pas ce que tu veut dire par les iterateur ne sont pas declarer ds afficheMat !
car si tu veux avant de creer 3 fichiers avec librairie .H
le programme etait en 1 seul morceau et fonctionnait sans aucun probleme...
Marsh Posté le 02-11-2002 à 21:48:51
Ben ta variable globale elle sert a quoi en fait? Elle n'est a priori référencée nulle part! Supprime la carrément. D'autre part, les i et j que tu utilises dans afficheMat et sommeMat, ils sont déclarés ou?
Marsh Posté le 03-11-2002 à 13:00:51
Si si g bien declaré les variable i et j ....c juste ke g mis les mauvais fichiers (g tellement fait d'essai...)
je les ai declarée ds le fichier matrice.c
Marsh Posté le 03-11-2002 à 13:18:52
oui justement c'est ce que je disais, donc pourrait tu mettre les bons fichiers?
Marsh Posté le 03-11-2002 à 14:02:33
Voila c modifié...
j'ai supprimé ma variable globale mais tjr les meme erreurs de liens!
Marsh Posté le 03-11-2002 à 15:40:39
Bon ben ce code source ne peut pas etre mis en cause; ce n'est pas lui le responsable. Moi je pense que ca vient de la commande de compilation
edit : ta variable globale est toujours la!
Marsh Posté le 03-11-2002 à 16:48:59
je ne sais pas de koi ca vient mais je verrai ca cette semiane a l'IUT !!!
mais merci de ton aide
Marsh Posté le 05-11-2002 à 00:26:46
multi-post: http://www.developpez.net/forums/viewtopic.php?t=39940
Marsh Posté le 31-10-2002 à 21:40:50
Bonjour a tous ...
J'ai un fichier .c qui calcul des matrices une generé manuellement et l'autre par l'ordinateur...puis qui les additionnent...
il se compose d'une fonction main, d'une fonction affichage des matrice et d'une fonction somme des matrices...
A partir de ce fichier je doit creer ma bibliotheque...c-a-d
que je doit creer un fichier matrice.h (regroupant
toutes les declarations relative aux matrices)
un autre matrice.c (regroupant les procedures ou fonction relative aux matrices)
et un fichier principal.c regroupant ma fonction main et l'appel des 2 fonctions affiche-matrice et somme-matrice
voici le code des 3 fichiers :
le fichier matrice.h
le fichier matrice.c
le fichier principal.c
[/cpp]
quand je comile les 3 fichier je n'obtient pas d'erreur...mais par contre des que j'execute le fichier principal.c j'obtient 2 erreurs qui sont:
Linker error: undefined symbol _afficheMat in principal.c
Linker error: undefined symbol _sommeMat in principal.c
de quoi peuvent venir ces erreurs ???
Message édité par FabienM le 03-11-2002 à 13:58:42