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 :

Wrapper - Utiliser une dll C++/CLI avec toutes ses d�pendances


Sujet :

C++/CLI

  1. #1
    Membre confirm�
    Femme Profil pro
    �tudiant
    Inscrit en
    Mai 2015
    Messages
    52
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 52
    Par d�faut Wrapper - Utiliser une dll C++/CLI avec toutes ses d�pendances
    Bonjour,

    Je demande votre aide car je souhaite r�utiliser des fonctions d'un projet C++ dans mon projet C#. Pour ce faire, j'ai cr�� un projet C++/CLI pour wrapper les fonctions C++ dans mon projet C# (C++/CLI est compatible aussi bien C# que C++). Pour ce faire, dans un premier temps j'ai cr�� des fonctions tr�s simple dans mon projet C++/CLI (sans faire appel � des fonctions c++). J'ai ajout� la DLL C++/CLI dans mes r�f�rences de mon projet C#.
    Dans mon code C#, je fais appel aux fonctions de ma DLL C++/CLI. Mon projet C# me propose bien les fonctions de ma DLL C++/CLI. En compilant mon projet C# pas � pas, je vois bien que mon code passe par mes fonctions C++/CLI. Jusqu'ici tout va bien.

    Maintenant en compliquant les choses, dans mon projet C++/CLI je souhaite faire appel aux fonctions C++. Pour cela ,j'ai fait appel � un fichier header.h en faisant #include "C:\...\header.h" dans mon C++/CLI. Je recompile mon projet C++/CLI. (Mon projet C# est d�j� reli� � mon projet C++/CLI par la DLL r�f�renc�). Je retourne dans mon projet C# et je recompile pas � pas et l� j'ai une erreur :

    "An unhandled exception of type 'System.IO.FileNotFoundException' occurred in myProject.exe
    Additional information: Could not load file or assembly 'Wrapper.dll' or one of its dependencies. Le module sp�cifi� est introuvable."

    Le probl�me je pense c'est que en faisant mon #include "C:\...\header.h", ce fichier header.h lui m�me d�pend de plein d'autres fichiers. J'ai donc alors un probl�me de linkage/configuration mais je ne sais absolument pas comment r�soudre. Du c�t� C# ? c�t� C++/CLI? Comment faire? Quoi faire?

    Merci pour votre aide svp.

  2. #2
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 503
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 503
    Par d�faut
    Pour quelqu'un qui connait le C++, votre discours et vos tentatives d'explications ne sont pas coh�rents.

    Pour cela ,j'ai fait appel � un fichier header.h en faisant #include "C:\...\header.h" dans mon C++/CLI. Je recompile mon projet C++/CLI.
    Inclure un .h n'a jamais inclus du code.
    Ces fonctions C++, elles sont cens�es �tre accessibles au code C++/CLI comment ?
    1- copier/coller du code source, .cpp compris ?
    2- c'est que des fonctions template ou inline donc en n'incluant que des .h ?
    3- c'est packager dans une lib statiques ?
    4- c'est packager dans une lib dynamique + Dll ?
    5- Autrement ?

    Si c'est 1, pourquoi ne pas mentionner la r�cup�ration des .cpp ?
    Si c'est 2, Ok.
    Si c'est 3 ou 4, il doit avoir un "#pragma comment (lib,...) qui se balade dans le .h pour faire le pont. Et c'est pas un d�tail.

    L'une des innerExceptions imbriqu�es doit indiquer quel fichier est manquant.

    Mais, au vu que vous �tes compl�tement paum� avec des "explications" compl�tement capilo-tract�es, on va commencer par la base :
    Qu'est-ce qui vous fait croire que "S2JLib.exe", s'ex�cutant dans un working directory que vous ne pr�cisez pas, avec un utilisateur que vous ne pr�cisez pas, � la moindre chance de r�cup�rer dans sa liste des r�pertoire de recherche de dll ou d'assemblies un r�pertoire contenant cette Dll, avec un bon num�ro de version ?

    Des outils comme process explorer permettent de voir ces chemins de recherches.
    Des outils comme depandancy walker permettent de voir le graphe des d�pendances statiques entre Dll.

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

Discussions similaires

  1. R�ponses: 8
    Dernier message: 25/05/2010, 13h00
  2. Utilisation une Dll en c avec delphi
    Par yann87 dans le forum API, COM et SDKs
    R�ponses: 1
    Dernier message: 22/12/2008, 16h14
  3. Utiliser une DLL en Delphi avec Visual Basic
    Par jix69 dans le forum Windows Forms
    R�ponses: 8
    Dernier message: 25/11/2008, 02h32
  4. Utiliser une DLL Delphi avec C#
    Par h8ciz dans le forum Windows Forms
    R�ponses: 3
    Dernier message: 27/09/2007, 16h46
  5. R�ponses: 8
    Dernier message: 01/06/2007, 00h13

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