Bonjour,
J'ai créé une solution contenant :
- un projet C#
- un project c++ (unmanaged) type dll, avec export
Dans le projet c++, j'ai une seul méthode, déclaré avec la macro générée par défaut
depends.exe et dumpbin me montre tout d'eux ma méthode, qui est bien exportée. (avec le bon nom, j'ai mis la déclaration dans un extern "C")
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 #define TEST_API __declspec(dllexport) TEST_API int test();
Dans le projet C#, j'ai la déclaration de cette méthode, et un appel :
A l'éxecution j'ai droit à :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 [DllImport("test.dll")] private static extern int test();
Si j'ajoute EntryPoint = "test" -> pareilImpossible de trouver le point d'entrée 'test' dans la DLL 'test.dll'.":"
par contre
si j'ajoute EntryPoint = "#1" // étant l'ordinal de ma méthode -> ça marche
Le pb est que ceci n'est qu'un prototype, et que j'aurai des 10ène de méthodes par la suite, je ne peux pas m'appuyer sur l'ordinal (étant "variable")
Je ne comprends pas pourquoi la méthode n'est pas trouvé par nom...
Si quelqu'un a déjà eu ce pb, une solution me ferai très plaisir
Merci !
.µAlexx.
Partager