IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

[error] LNK2019: unresolved external symbol "void


Sujet :

C++

  1. #21
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 37
    Par défaut
    Citation Envoyé par babar63 Voir le message
    tu peux peut-être séparé en trois projet... une librairie qui contient la définition des fonctions souhaitées, puis l'application et ton second projet linkés avec cette lib?
    C'est seulement une hypothèse dis-moi si j'ai tout faux
    Je pense que ce problème persistera car je fait appel à une fonction dont je n'avais pas l'accès avec le projet scriptdev2 (dans PMJ.cpp) problème LNK , mais j'y avais accès avec le projet game (dans Xian.cpp) raison pour laquelle j'ai créer ce fichier...

    cette commande était " loginDatabase.PExecute "

    donc je voulais simplement mettre la fonction dans game et la rappellée via scriptdev2 pour faire + simple mais je me retrouve avec le même problème LNK

  2. #22
    Membre confirmé Avatar de babar63
    Homme Profil pro
    Développeur jeux vidéos/3d Temps réel
    Inscrit en
    Septembre 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur jeux vidéos/3d Temps réel

    Informations forums :
    Inscription : Septembre 2005
    Messages : 241
    Par défaut
    car je fait appel à une fonction dont je n'avais pas l'accès avec le projet scriptdev2 (dans PMJ.cpp) problème LNK , mais j'y avais accès avec le projet game (dans Xian.cpp) raison pour laquelle j'ai créer ce fichier
    Oui c'est tout à fait logique, comme je te l'ai dit le premier projet créé une application tu ne pourras pas avoir accès aux définitions des fonctions, le second projet compilera si tu inclus les headers mais lors du linkage.... pas d'accès au code... C'est pourquoi il faut bien une librairie qui permettent d'accéder à ces informations

    Pour résumer dans Xian.h tu déclare une fonction(MaFonction), dans Xian.cpp tu définis cette fonction. Maintenant si tu dois utiliser MaFonction dans un second projet (PMJ.cpp) tu inclus Xian.h pour avoir accès à la déclaration, tu link le second projet avec une librairie contenant la définition de la fonction et la il n'y a plus de raison pour que tu ai une erreur de link

  3. #23
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Par défaut
    Citation Envoyé par Predax Voir le message
    pour simplifié l'explication :

    1ère compilation : l'emulateur en lui même.
    2ème compilation : l'intelligence artificielle rajouté aux créature dans le jeu.
    Si tu compiles en plusieurs fois (deux dans ce cas précis), il y a fort à parier que le linker ne "voit" pas la fonction dans son unité de compilation (celle dont fait partie le fichier PMJ.cpp).

    Essaye de préfixer le prototype de a fonction AjoutMaxskill avec le mot clé extern puisqu'elle semble être externe à l'unité.

    The extern keyword declares a variable or function and specifies that it has external linkage (its name is visible from files other than the one in which it's defined).

  4. #24
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 37
    Par défaut
    Essaye de préfixer le prototype de a fonction AjoutMaxskill avec le mot clé extern puisqu'elle semble être externe à l'unité.
    j'ai ajouté le préfixe extern mais le problème LNK persiste toujours.

    Citation Envoyé par babar63 Voir le message
    tu link le second projet avec une librairie contenant la définition de la fonction et la il n'y a plus de raison pour que tu ai une erreur de link
    comment puis-je faire une librairie contenant la définition de la fonction ? Je n'ai jamais fait ce genre de chose

  5. #25
    Membre confirmé Avatar de babar63
    Homme Profil pro
    Développeur jeux vidéos/3d Temps réel
    Inscrit en
    Septembre 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur jeux vidéos/3d Temps réel

    Informations forums :
    Inscription : Septembre 2005
    Messages : 241
    Par défaut
    Pour Visual Studio 2005 voilà une des solutions : "nouveau projet", "projet win32", "Librairie statique" (c'est préférable de commencer par des librairies statique si tu n'a jamais crée ce genre de projet) pour l'instant laisse les options par défaut tu pourra y revenir plus tard si nécessaire (pas la peine de se compliquer pour l'instant ) Ensuite tu mets tes .cpp et .h (pas besoin de main), tu compile et ta librairie est crée... Malheureusement je ne connais pas d'autre environnement de développement (à par VC6 ) mais j'espère que ça pourra t'aider

  6. #26
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 37
    Par défaut
    ceci n'ayant pas fonctionner non plus j'ai abandonner mon projet pour autre chose, j'ai fait à peut près 23 compilation différentes pour Xian.h et Xian.cpp sans résultat positif ^^

    J'espère qu'un jour quelqu'un trouvera la solution pour d'autres personnes qui croiseront le même genre de problème, merci à vous quand même pour votre aide et bonne continuation

Discussions similaires

  1. error LNK2019: unresolved external symbol
    Par Francixtra dans le forum Visual C++
    Réponses: 4
    Dernier message: 31/03/2011, 02h32
  2. [DDK] error LNK2019: unresolved external symbol
    Par sloshy dans le forum Windows
    Réponses: 2
    Dernier message: 27/06/2008, 22h31
  3. error LNK2019: unresolved external symbol
    Par ilimo dans le forum C++
    Réponses: 22
    Dernier message: 09/04/2006, 23h59
  4. error LNK2019: unresolved external symbol
    Par soniona dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 06/04/2006, 14h03
  5. Réponses: 4
    Dernier message: 23/04/2004, 16h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo