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++/CLI Discussion :

[C++ .NET] Pourquoi ai-je une erreur �dition de liens lors de l'appel � ma dll ?


Sujet :

C++/CLI

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    19
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 19
    Par d�faut [C++ .NET] Pourquoi ai-je une erreur �dition de liens lors de l'appel � ma dll ?
    Bonjour,

    j'essaie d'utiliser une dll mais je n'arrive pas � ex�cuter mon code, il y a des erreurs � l'�dition de liens.
    Je pense qu'il est possible que je n'utilise pas les bons types de param�tre.

    Le prototype de la fonction est:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    int spssGetVarHandle (int handle, const char *varName, double
     *varHandle)
    Et j'essaie de l'utiliser de cette fa�on:
    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
    21
    22
     
        int hSpssFile;
        Double hVariable;
        int returnCode;
        SpssWrapper *sw = new SpssWrapper();
     
        char* spssFile = (char*)(void*)Marshal::StringToHGlobalAnsi(config
    ->dataFile);
     
        try
        {            
            returnCode = sw->spssOpenRead(spssFile, &hSpssFile);
     
            for each(Collections::DictionaryEntry DE in allVars)
            {
                char* spssVarName = (char*)(void*)
    Marshal::StringToHGlobalAnsi(DE.Key->ToString());
     
                returnCode = sw->spssGetVarHandle(hSpssFile, spssVarName,
     &hVariable);
            }
       }
    A la compilation aucun probl�me mais � l'�dition de liens j'ai des erreurs dues � spssGetVarHandle(). La m�thode spssOpenRead fonctionne tr�s bien toute seule.

    Est-ce une erreur sur le type des param�tres?

    J'ai pas vraiment l'habitude de manipuler les dlls et encore moins avec du dotnet car je d�bute la dedans.

    Si vous avez besoin de plus d'informations je vous les fournirez.

    Merci

  2. #2
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    c'est une dll classique ? elle doit avoir �t� fournie avec un .lib qu'il faut rajouter � l'�dition de liens, soit dans les param�tres, soit par pragma
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    #pragma comment (lib, "nomdelalib.lib")

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    19
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 19
    Par d�faut
    En effet il y avait bien un .lib avec, je l'ai donc copi� dans le dossier o� se trouvent mes sources et ajouter le pragma mais j'ai toujours des probl�mes � l'�dition de liens:

    error LNK2001: unresolved external symbol "public: int __clrcall SpssWrapper::spssGetVarHandle(int,char const *,double *)" (?spssGetVarHandle@SpssWrapper@@$$FQAMHHPBDPAN@Z)
    Je vois pas ce qui cloche...

  4. #4
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    peut-etre une histoire de convention d'appel
    c'est toi qui a d�velopp� la dll ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    19
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 19
    Par d�faut
    Non ce n'est pas moi qui l'ai d�velopp�. En fait c'est une dll qui est fournie avec le logiciel SPSS si tu connais, elle permet simplement de lire ou �crire dans des fichiers au format Spss.

  6. #6
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    juste un truc, ton application qui veut utiliser cette dll est bien une application manag�e ? (compil�e avec /clr)
    je me doute bien que oui

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [VB.Net] Pourquoi ai-je une erreur de syntaxe INSERT UPDATE ?
    Par zzzmoi dans le forum Acc�s aux donn�es
    R�ponses: 14
    Dernier message: 17/08/2006, 14h21
  2. [VB.Net] Pourquoi ai-je une Erreur SQL sur un update ?
    Par ndsaerith dans le forum Acc�s aux donn�es
    R�ponses: 3
    Dernier message: 03/08/2006, 11h32
  3. [VB.NET] Pourquoi ai-je une erreur avec GetResponse ?
    Par Arnaud_B dans le forum Services Web
    R�ponses: 1
    Dernier message: 25/07/2006, 17h13
  4. [VB.Net] Pourquoi ai-je une erreur à l'exécution d'une requête ?
    Par zooffy dans le forum Acc�s aux donn�es
    R�ponses: 3
    Dernier message: 25/06/2006, 10h35
  5. [ADO.Net][Access] Pourquoi ai-je une erreur lors de l'Update ?
    Par nazimb dans le forum Acc�s aux donn�es
    R�ponses: 1
    Dernier message: 15/05/2006, 09h37

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