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

Intéropérabilité d'une bibliothèque C avec du C#


Sujet :

C++

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Etudiant
    Inscrit en
    Janvier 2011
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 31
    Par défaut Intéropérabilité d'une bibliothèque C avec du C#
    Bonjour tout le monde,

    Mon but est de générer une dll en C++ afin de l'utiliser plus tard dans un prjet C#. J'ai suivi le tutto sur le lien suivant : http://nico-pyright.developpez.com/t...c2005/interop/

    Dans le projet C++ qui génère la DLL j'utilise la librairie OpenCV et voici la configuration de mon projet C++ pour générer la DLL :
    1. C/C++ -> Génération de code -> Bibliotheque Runtime = DLL multithread (/MD)
    2. Editeur de liens -> Avancé -> Ordinateur cible = MachineX64(/MACHINE:X64)
    3. Propriétés -> Propriétés de configuration -> Répertoires VC++ -> Répertoires Include :
      • C:\OpenCV\opencv\build\include
      • C:\OpenCV\opencv\modules\core\include\opencv2\core
      • C:\OpenCV\opencv\include\opencv2
      • C:\OpenCV\opencv\include\opencv
    4. Propriétés -> Propriétés de configuration -> Répertoires VC++ -> Répertoires de bibliothèques :
      • C:\OpenCV\opencv\build\x64\vc10\lib
      • C:\OpenCV\opencv\build\x64\vc10\bin
    5. Propriétés -> Propriétés de configuration -> Répertoires VC++ -> Répertoires sources :
      • C:\OpenCV\opencv\modules
    6. Propriétés -> Propriétés de configuration -> öditeur de liens -> entrée -> Dépendances supplémentaires :
      • C:\OpenCV\opencv\build\x64\vc10\lib\opencv_core240d.lib
      • C:\OpenCV\opencv\build\x64\vc10\lib\opencv_video240d.lib
      • C:\OpenCV\opencv\build\x64\vc10\lib\opencv_ml240d.lib
      • C:\OpenCV\opencv\build\x64\vc10\lib\opencv_legacy240d.lib
      • C:\OpenCV\opencv\build\x64\vc10\lib\opencv_imgproc240d.lib
      • C:\OpenCV\opencv\build\x64\vc10\lib\opencv_highgui240d.lib


    La génération de la DLL se passe bien et elle est destiné pour un système 64 bits.

    Voici la configuration de mon projet C# :
    • Propriétés -> Générer -> Plateforme = (x86) active
    • Propriétés -> Générer -> Général -> Plateforme cible = x64


    Ensuite, je la DLL générer dans le répertoire avec l'exécutable C# et à l'exécution j'ai l'erreur que vous trouverez dans l'image jointe :

    Généralement cette erreur est un conflit entre 32 bits et 64 bits, mais je vois pas comment la corriger!! quelqu'un aura une idée comment la corriger ??

    Sachant que la configuration d'OpenCV est a priori faite pour un système x64 et que quand j'utilise pas OpenCV dans la DLL générer l'utilisation dans C# fonctionne. donc j'imagine que l'erreur est de côté OpenCV mais je vois pas ou ??

    Merci d'avance.
    Images attachées Images attachées  

Discussions similaires

  1. [Débutant] Intéropérabilité d'une bibliothèque C avec du C#
    Par Cool_Boy dans le forum C#
    Réponses: 1
    Dernier message: 13/07/2013, 12h29
  2. [Débutant] Intéropérabilité d'une bibliothèque C avec du C#
    Par Cool_Boy dans le forum C#
    Réponses: 11
    Dernier message: 08/07/2013, 15h22
  3. Réponses: 14
    Dernier message: 05/07/2013, 00h52
  4. Réponses: 9
    Dernier message: 10/01/2008, 16h44

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