Probleme avec le "linker"

Darkneon Messages postés 56 Date d'inscription vendredi 18 mai 2001 Statut Membre Dernière intervention 13 décembre 2005 - 29 mars 2003 à 22:31
Darkneon Messages postés 56 Date d'inscription vendredi 18 mai 2001 Statut Membre Dernière intervention 13 décembre 2005 - 3 avril 2003 à 03:13
Salut,

J'ai 3 fichiers comme ceci

Test.cpp
#include "test.h"
#include 

void PrintA(int num)
{
for(int i=0; i<num; i++)
{
cout << "A";
}
}


Test.h
void PrintA(int num);


et Noname02.cpp
#include "test.h"

void main()
{
PrintA(20);
}


Tout compile mais lorsqu'il essaye de creer l'executable j'ai l'erreur suivante

Linker Error: Undefined Symbol PrintA(int) in module NONAME02.CPP

L'erreur doit etre bete mais reste que je sais pas ce quoi?
Quelqu'un a une idee?

Merci d'avance

6 réponses

Darkneon Messages postés 56 Date d'inscription vendredi 18 mai 2001 Statut Membre Dernière intervention 13 décembre 2005
29 mars 2003 à 23:03
J'ai oublie de dire que j'utilise Borland Turbo C++ 3.0.
0
cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 8
30 mars 2003 à 11:16
Salut

ce que tu décris DOIT marcher
l'erreur peut être que le BON test.h ne soit pas dans le répertoire de Noname02.cpp... et qu'il y ait un mauvais test.h
as tu bien sauvegardé les fichiers avant la compile/link
sinon, le standard veut que main ait un prototype
int main ,mais ce ne devrait pas gêner.
...
0
Darkneon Messages postés 56 Date d'inscription vendredi 18 mai 2001 Statut Membre Dernière intervention 13 décembre 2005
31 mars 2003 à 01:16
Oui, j'ai bien sauvegarde tous les fichiers et ils sont tous dand le meme dossier.

J'ai aussi tester avec VC++ et j'ai eu le meme type d'erreur.
Je suis vraiment confus.

Par contre, si je remplace "test.h" dans Noname02.cpp par "test.cpp", TOUT MARCHE et je comprend pas pourquoi?
0
cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 8
31 mars 2003 à 07:13
salut !

si ça marche lorsque tu inclues test.cpp il y a deux éventualités
1) tu as oublié de rajouter le fichier test.cpp à ton projet et le linkeur ne le prend pas en compte
2)tu as déclaré ta fonction PrintA inline

je penche plutôt pour la première
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Darkneon Messages postés 56 Date d'inscription vendredi 18 mai 2001 Statut Membre Dernière intervention 13 décembre 2005
2 avril 2003 à 02:00
Merci !!!

T'avais raison, c'est le numero 1. J'ai tester sous VC++ et ca fonctionne.

Maintenant comment creer un projet sous TC++? Je vois 'open project' et 'close project' mais rien pour en creer un. Meme chose lorsque je sauvegarde, il n'y a rien qui a rapport avec un projet.
0
Darkneon Messages postés 56 Date d'inscription vendredi 18 mai 2001 Statut Membre Dernière intervention 13 décembre 2005
3 avril 2003 à 03:13
Je me reprends, ca fonctionne suos VC++ mais toujours pas sous TC++. J'ai mis tout le ficher dans le meme projet et j'ai toujours la meme erreur.
0
Rejoignez-nous