Bonjour à tous,
Je travail actuellement sur un projet sous Win CE 5.0 (Plateforme Colibri de chez Toradex)
J'ai un programme de démo en C qui me permet de controler les GPIO de la carte, fourni par Toradex.
Mon application globale est en C#, je cherche donc à créer une DLL pour utiliser les fonctions de ce controleur.
Je travail sous VS2005. J'ai créé un projet Visual C++ --> Smart Device --> Projet Smart Device Win32 dans lequel j'ai spécifié que je voulais créer une DLL. Il m'a donc créé un projet avec stdafx.c/.h contenant les variable pour WinCE et le fichier principal du projet ByteBusDLL.c.
J'ai importé les .c / .h de mon ancien projet. J'ai ajouté __declspec(dllexport) devant les fonctions. J'ai compilé ... aucun problème de compilation.
Dans mon projet C#, j'utilise cette DLL en important les fonction comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 [DllImport("ByteBusDLL.dll")] static extern unsafe void InitGPIO(); [DllImport("ByteBusDLL.dll")] static extern unsafe void PutByteBus(uint dataBYTE); ...
Je compile ... mais lorsque je teste le programme, dès que j'appelle la fonction InitGPIO(); ... j'obtient l'erreur :
Est ce que vous avez une idée d'où, cela peut venir ? Ai-je omis de faire quelque chose lors de la création de la DLL (j'ai lu les Tuto Interrop 1 et 2, j'ai essayé d'inclure Extern "C", mais VS2005 n'en veut pas) ?
PS : Je peux fournir le code C si nécessaire ....
Partager