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

Bibliothèque standard C Discussion :

error LNK2001:sumbole externe non résolu


Sujet :

Bibliothèque standard C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 24
    Par défaut error LNK2001:sumbole externe non résolu
    Bonjour,
    j'ai un problème de symbole externe non résolu.

    je veux accéder à des objects COM à l'aide des monikers.

    c'est un simulateur qui gère des modèles (présentés comme des objets COM)

    la création du modèle (après compilation) génère model.dll et modellib

    dans les propriétés du projet sous visual studio 2005, j'ai mis
    environnement : PATH=model\dll
    Répertoires de bibliothèques supplémentaires : model\lib
    dépendances supplémetaires : model\lib\model.lib ole32.lib

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     
     
    #include <windows.h>
    #include <objbase.h>
    #include "model.h"
     
    int main (int argc, char **argv){
    HRESULT hr;
     
     *pSMI = NULL;
     
    if (!CoInitialize(0)){
     
    hr= CoGetObject(L"C:\\Simulator\\SIM.simsat!model",
                               NULL,
                               &IID_ISIMSATSMIScriptsCommands,
                               &pSMI);
    }
    }
    je n'arrive pas à voir quel est le fichier qui manque et que je dois inclure

    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 24
    Par défaut
    le symbole externe non résolu _IID_ISIMSATSMIScriptsCommands

  3. #3
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par mony84 Voir le message
    Bonjour,
    j'ai un problème de symbole externe non résolu.

    je veux accéder à des objects COM à l'aide des monikers.

    c'est un simulateur qui gère des modèles (présentés comme des objets COM)

    la création du modèle (après compilation) génère model.dll et modellib

    dans les propriétés du projet sous visual studio 2005, j'ai mis
    environnement : PATH=model\dll
    Répertoires de bibliothèques supplémentaires : model\lib
    dépendances supplémetaires : model\lib\model.lib ole32.lib

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    #include <windows.h>
    #include <objbase.h>
    #include "model.h"
     
    int main (int argc, char **argv){
    HRESULT hr;
     
     *pSMI = NULL;
     
    if (!CoInitialize(0)){
     
    hr= CoGetObject(L"C:\\Simulator\\SIM.simsat!model",
                               NULL,
                               &IID_ISIMSATSMIScriptsCommands,
                               &pSMI);
    }
    }
    Le troisième
    paramètre, c'est :

    [in] Reference to the ID of an interface that is implemented on the object to be created.

    Tu as défini un IID_ISIMSATSMIScriptsCommands de type IID quelque part ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 24
    Par défaut
    Bonjour,
    Merci pour votre réponse

    IID_ISIMSATSMIScriptsCommands estdéfinie dans le fichier simsat.h
    et le fichier model.h contient #include simsat.h

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    EXTERN_C const IID IID_ISIMSATSMIScriptsCommands;

  5. #5
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par mony84 Voir le message
    Bonjour,
    Merci pour votre réponse

    IID_ISIMSATSMIScriptsCommands estdéfinie dans le fichier simsat.h
    et le fichier model.h contient #include simsat.h

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    EXTERN_C const IID IID_ISIMSATSMIScriptsCommands;
    Certes, on a ici une déclaration de variable, mais où est sa définition ?

    http://emmanuel-delahaye.developpez....tm#definitions

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 24
    Par défaut
    Merci Emmanuel

    je confondais déclaration et définition, merci pour l'explication

    j'ai fouillé dans le code (c'est pas moi qui l'a développé)

    et j'ai trouvé un fichier.lib , j'ai essayé de l'ajouter au projet en espérant qu'il contient la définition de la variable
    , et ça marche

    merci merci vous m'avez sauvé la vie

  7. #7
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par mony84 Voir le message
    merci merci vous m'avez sauvé la vie
    "I'm just doing my job..."
    -- Jack Bauer in twenty-four

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. error LNK2001: symbole externe non résolu
    Par persé dans le forum VC++ .NET
    Réponses: 22
    Dernier message: 21/02/2014, 11h03
  2. error LNK2019: symbole externe non résolu
    Par sheep_one dans le forum Windows
    Réponses: 0
    Dernier message: 03/06/2010, 11h03
  3. error LNK2019: symbole externe non résolu
    Par Halloula dans le forum Visual C++
    Réponses: 3
    Dernier message: 28/11/2009, 02h19
  4. error LNK2019: symbole externe non résolu
    Par bugmenot dans le forum Visual C++
    Réponses: 6
    Dernier message: 24/11/2009, 01h02
  5. error LNK2019: symbole externe non résolu "void __cdecl MaFonction
    Par lolo le belge dans le forum Visual C++
    Réponses: 3
    Dernier message: 30/10/2009, 11h38

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