Je me LNK2028 lorsque vous essayez d'envelopper natif classe c ++ en utilisant c ++ géré
-
05-09-2019 - |
Question
essayer d'envelopper une classe cpp native en utilisant la classe gérée c ++.
tout semble bon, mais pour une raison quelconque, il compilez coutume.
obtenir les erreurs de l'éditeur de liens suivants:
Erreur 25 erreur LNK2028: jeton non résolu (de 0A0002CE) Erreur 27 erreur LNK2019: symbole externe non résolu
Toutes les idées comment puis-je fixer celui-ci? : \
bien, voici une erreur complète de l'une des fonctions:
Erreur 20 Erreur LNK2028: jeton non résolu (0A0002CF) "public: bool __thiscall RCSclient :: ResumeChannel (char *, int, __ int64)" (ResumeChannel @ RCSclient @@ $$ FQAE_NPADH_J @ Z?) Référencé dans la fonction « publique: bool __clrcall RCSClientWrapper :: RCSclientWrapper :: ResumeChannel (classe System :: String ^, int, classe System :: DateTime ^) »(? ResumeChannel @ RCSclientWrapper @ $$ RCSClientWrapper @@ FQ $ AAM_NP $ AAVString @ système @@ HP $ AAVDateTime @ @@ 4 Z) RCSClientWrapper.obj RCSClientWrapper
Essayé pour ajouter le user32.lib sans résultats ..
Ofer
La solution
C ++ / CLI vous permet à mélanger en C ++ natif à peu près à volonté, mais en utilisant C ++ / CLI rend votre application dépendra du framework .NET.
La raison en est votre projet C ++ / CLI ne dispose pas des libs (user32.lib, dans l'exemple) dans la configuration de l'entrée de liaison est que le .NET Framework fournit déjà des services similaires, et IDE suppose que vous préférez ceux les plus âgés, les natifs.
Vérifiez votre projet et ajouter une référence à la bibliothèque correspondante.
Autres conseils
Peut-être que vous avez oublié un mot-clé virtuelle dans la déclaration de la fonction native en-tête C ++ appeler de wrapper managé!