begin process at 2010 02 10 11:48:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

erreur de symbole externe non résolu qui persiste...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

erreur de symbole externe non résolu qui persiste...

mardi 15 avril 2008 à 15:51:07 | erreur de symbole externe non résolu qui persiste...

Bibi0570

Salut à tous. j'ai l'erreur qu'il y a dans le titre qui persiste lorsque je compile. j'ai déjà vu ce problème qui revient souvent sur les forums mais je n'arrive pas à le résoudre.
j'ai essayé de verifier les propriétés de compilation du projet, mais je ne suis quand même pas sûr d'avoir tout correctment paramétré.
je développe sous visual studio c++ express edition 2008. je vous rajoute la partie du code qui est concernée.
j'espère que quelqu'un pourra m'aider.
merci

#include

"Carnet.h"

#include

<stdio.h>

#include

<string.h>

#include

<conio.h>

#include

<stdlib.h>

#include

<windows.h>

extern

Personne Carnet[]; //Variables globales

int

extern Nbcontacts; //Variables globales

int

i;

 

void

Charger()

{

int

i=0;

FILE* pf;

char

ligne[200];

char

*ppv1;//déclaration du pointeur point virgule

char

*ppv2;

char

*ppv3;

char

*ppv4;

char

bFin=0;

pf= fopen(

"carnet.csv","r");

ligne[0]=0;

if

(pf==NULL)

{

printf (

"le carnet n'hexiste pas");

getch();

return;

}

do

{

ligne[0]=

'\0';

fgets (ligne,200,pf);

//lire une ligne du carnet d'adresse

if(strlen(ligne)>3)

{

ppv1=strstr(ligne,

";");// recherche le ; de la fin du nom

ppv2=strstr(ppv1+1,

";");

ppv3=strstr(ppv2+1,

";");

ppv4=strstr(ppv3+1,

";");

strncpy(Carnet[i].Nom,ligne,ppv1-ligne);

// dispatche les champs dans la iemme case du tableau

strncpy(Carnet[i].Prenom,ppv1+1,ppv2-ppv1-1);

strncpy(Carnet[i].Adresse,ppv2+1,ppv3-ppv2-1);

Carnet[i].Age=atoi(ppv3+1);

i++;

}

else

bFin=1;

}

while

(bFin==0);// on est pas à la fin du fichier;

 

Nbcontacts=i;

fclose(pf);

//fermer le fichier

}


ERREURS:

1>Fonctions.obj : error LNK2001: symbole externe non résolu "int Nbcontacts" (?Nbcontacts@@3HA)

1>Fonctions.obj : error LNK2001: symbole externe non résolu "struct Personne * Carnet" (?Carnet@@3PAUPersonne@@A)

1>LIBCMT.lib(wincrt0.obj) : error LNK2019: symbole externe non résolu _WinMain@16 référencé dans la fonction ___tmainCRTStartup

1>C:\Users\Anto\Documents\Visual Studio 2008\Projects\test_tp\Debug\test_tp.exe : fatal error LNK1120: 3 externes non résolus

mardi 15 avril 2008 à 15:51:39 | Re : erreur de symbole externe non résolu qui persiste...

Bibi0570

ps:désolé pour la présentation j'ai pas fait attention!!!
mardi 15 avril 2008 à 16:14:24 | Re : erreur de symbole externe non résolu qui persiste...

jfrancois

Bonjour,

Les variables déclarées externes int NbContacts et struct Personne* Carnet et la fonction principale du programme Windows WinMain() n'ont pas été trouvées par l'éditeur de liens. Les 2 variables devraient être dans le fichier d'entête Carnet.h ? ou dans un autre fichier d'entête manquant ici ?

Jean-François

mardi 15 avril 2008 à 16:20:38 | Re : erreur de symbole externe non résolu qui persiste...

Bibi0570

j'avais un fichié e-tête dans le-quel je déclaré ma structure et mes fonctions, mais en incluant les extern dedans çà n'a pas résolu le problème.
merci quand même
mardi 15 avril 2008 à 16:41:54 | Re : erreur de symbole externe non résolu qui persiste...

jfrancois

Il ne faut pas que les variables soient déclarées extern dans tous les fichiers !!!

extern int NbContacts est juste là pour dire au compilateur : "Dans ce module tu vas (peut-être) rencontrer la variable NbContacts mais elle n'y est pas déclarée ! C'est pas grave ! C'est pas une erreur ! NbContacts a été (ou sera) déclarée dans un autre module et à la fin de la compilation des modules, l'éditeur de liens se chargera de la pointer là où elle est".

Il faut que ces variables soient déclarées ("pour de vrai", sans extern) quelque part.

L'idée générale est de placer les extern ... dans un fichier d'entête (.h/.hpp) et d'inclure ce fichier dans tous les modules (.c/.cpp) du projet ET d'ajouter la déclaration de ces variables (la même chose sans extern) dans l'un des modules.

Jean-François

mercredi 16 avril 2008 à 11:56:12 | Re : erreur de symbole externe non résolu qui persiste...

cedric177



cedric



ta ca mettre tout le temps annule ou contunuer si a ecrit sinon resou le probleme en telechargent winaso registry optimiser repond si sa marche ou non.




Cette discussion est classée dans : ligne, externe, carnet, symbole, ppv1


Répondre à ce message

Sujets en rapport avec ce message

Compil ATL [ par hm1964 ] Je m'arrache les cheveux avec le pblm suivant :je cherche à compiler le programme VMRPip9 (exemple directshow) et j'ai un souci avec le link : il ne t symbole externe non résolu 'symbole' référencé dans la section 'fonction' [ par bibifinal ] Bonjour tout le mondecomme le nom l'indique j'ai un probleme avec casymbole externe non résolu 'symbole' référencé dans la section 'fonction'quand j'a Error LNK 2019 [ par gmalodo ] Bonjour tou le monde,je debute en C++,(vraiment au debut ^^)et j'ai un pb lors de la compilation, Error LNK 2019.En fouinant un peu j'ai cru comprendr Problème de symbole externe. [ par matt22 ] Bonjour à tous.j'ai un petit problème de configuration de ms visual c++.je n'arrive pas à faire les bons lien pour compiler sans problème.j'utilise da symbole externe non résolu [ par Nsjn ] Bonjour à tous,Je tente de créer la dll erthlib.dll à partir du fichier earth.idl sous C++ ( Visual 8 ).Tout se passe correctement jusqu'à l'edition d help: link error [ par deutant ] Bonjour tt le mondej ai un code du net k j essai de compiler avec vc++2005express, mais j ai tjs des erreurs de link du style:   LIBCMT.lib(crt0.obj) SDK Directx 9 avec Visual studio express [ par zerailkiller ] Bonsoir à tous, je viens d'installer le SDK Direct X 9 de Mai, ansi que Visual studio express edition 2005 et Quand je cree un nouveau projet , le typ Erreur d'execution [ par bilaloch ] Bonjour a tous,J'ai un ptit probleme d'execution, pas de compilation. Je travaille sous VC++ 2005 Express. Lorsque j'execute, il compile sans erreurs, gestion de fichiers en C [ par selmaensi ] bonjour,je voudrais savoir comment faire une modification directe sur un fichier enC (le fichier est un bloc note;document texte) qui contient des enr ImpLib [ par Ravaner ] Bjr à tous,Pour utiliser WinIO avec un  de mes programmes ( CBuilder6 ) je dois créer un WinIo.lib en utilisant la fonction ImpLib. J'ai vu la syntaxe


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales