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++ Interop (/CLR) - Erreur LNK2028


Sujet :

C++/CLI

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Points : 9
    Points
    9
    Par défaut C++ Interop (/CLR) - Erreur LNK2028
    Eh bien je n'ai pas fini d'en baver avec le C++/CLI !!

    Au programme d'aujourd'hui : j'ai un paquet de fonctions (pas de namespace, pas d'objet, juste des fonctions à la Pascal) en C++ non managé. Ces fonctions sont regroupées dans une DLL (que j'ai compilée en /clr) et je souhaite utiliser l'une de ces fonctions à partir d'un code managé (lui aussi compilé en /clr).
    Ma fonction est définie classiquement ainsi :
    __declspec(dllimport) youpi()
    lorsqu'elle est compilée par mon application externe.
    Bref, j'ai une fonction signée "__cdecl" appelée par une fonction signée "__clrcall"...

    J'imagine que ça ne va pas sans un minimum de précautions, car j'ai un problème lors de l'édition de liens : la fonction n'est pas retrouvée !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    NuMatrix.obj : error LNK2028: unresolved token (0A000058) "bool __cdecl youpi(void)" (?youpi@@$$FYA_NXZ) referenced in function "public: bool __clrcall NuDataStruct::NuMatrix::evd(class NuDataStruct::NuMatrix ^,class NuDataStruct::NuMatrix ^)" (?evd@NuMatrix@NuDataStruct@@$$FQ$AAM_NP$AAV12@0@Z)
    NuMatrix.obj : error LNK2019: unresolved external symbol "bool __cdecl youpi(void)" (?youpi@@$$FYA_NXZ) referenced in function "public: bool __clrcall NuDataStruct::NuMatrix::evd(class NuDataStruct::NuMatrix ^,class NuDataStruct::NuMatrix ^)" (?evd@NuMatrix@NuDataStruct@@$$FQ$AAM_NP$AAV12@0@Z)
    Pourtant, la DLL en question est bien trouvée (j'ai ajouté la ligne #using "ZUT.dll" en début de mon code managé) et elle est accompagnée de plusieurs fichiers auxiliaires (.exp, .ilk, .lib, .pdb). En jetant un coup d'oeil dans le ZUT.exp, je vois apparaître ma fonction "youpi" au milieu d'un tas de binaire, elle semble donc bien être exportée par la DLL...

    J'ai trouvé sur le net des erreurs similaires sans vraiment comprendre les solutions proposées...

    Je sens encore la bonne vieille erreur de débutant, et je remercie toute bonne âme de me mettre le nez dedans !!

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Points : 9
    Points
    9
    Par défaut


    Well... Mon erreur consistait apparemment à avoir oublié d'inclure la .lib (rubrique Properties/Linker/Input/Additionnal Dependencies).

    Mes confuses pour le dérangement...

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

Discussions similaires

  1. Erreur lnk2028: unresolved token
    Par yves042 dans le forum C++
    Réponses: 3
    Dernier message: 04/05/2010, 02h46
  2. ERREUR interop Outlook sous Vista
    Par bensra dans le forum Windows Forms
    Réponses: 11
    Dernier message: 13/06/2009, 23h46
  3. Réponses: 4
    Dernier message: 05/09/2008, 17h49
  4. Réponses: 6
    Dernier message: 10/03/2008, 13h08
  5. Réponses: 4
    Dernier message: 09/08/2006, 22h28

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