Bonjour à tous,
Dans le cadre de mes études, je dois créer une jeux en C# WPF (4.0) utilisant une IA en C++.
J'essaye de récupérer une valeur depuis une méthode d'une classe de mon projet C++ et de l'afficher dans une méthode du projet C#.
J'ai donc une méthode (C #) qui crée un objet du projet C++ :
J'ai créé un projet de bibliothèque de classes en C++ :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 int valeur = 0; Test test = new Test(); valeur = test.calculate(); Console.WriteLine("Valeur test : " + valeur);
header IA.h :
Code IA.cpp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 // IA.h #pragma once using namespace System; namespace IA { public ref class Test { public : int calculate(); }; }
J'ai ajouté la référence dans l'assembly de mon projet C# et la clause using dans le fichier utilisant l'objet Test.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 // This is the main DLL file. #include "stdafx.h" #include "IA.h" namespace IA { int Test::calculate () { return (2); } }
Quand je crée l'objet dans le code, le compilateur reconnu le type de l'objet.
Lors du runtime, si je crée une instance de l'objet Test, je reçoit l'erreur suivante :
J'ai essayé avec différent type de projet C++ et j'obtiens la même erreur.BadImageFormatException - Could not load file or assembly 'IA, Version=1.0.4196.31687, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format.Quelqu'un aurait-il une idée ?
Merci d'avance pour vos réponses![]()
Partager