Bonjour à tous !
Je me presente, je travaille dans une start'up en tant qu'ingénieur "à tout faire"(traitement d'image, electronique, informatique, optique, vision industrielle.....je monte aussi les meubles IKEA qu'on achete pour s'equiper !!!)
J'ai une formation d'opticien à la base et j'ai quelques notions en C. Dans le cadre du travail, on a acheté un kit de developpement Microchip (aucune idée duquel, ce n'est pas ma partie du travail).
Par contre je patauge un peu en C++.....
Donc un kit USB, qui simule un périphérique HID. La société MicroChip nous a fourni un programme d'exemple afin de nous permettre de nous connecter au périphérique et de récupérer l'état des différents boutons/led composant le kit. Ce programme est developpé en C++ et marche parfaitement sous visual C++.
Mais, l'application qu'on veut utiliser avec ce périphérique est développée en LabVIEW. Mon idée est donc de developper une DLL et de l'appeler directement dans LabVIEW (car dans labview, il est très difficile de faire appel aux api windows)
J'ai donc crée une DLL en C++,toujours avec Visual C++ express Edition et ma première idée fut de faire un vulgaire copier/coller (oui je sais j'ai honte) de la partie du programme de microchip qui m'intéressait pour le mettre dans ma DLL. La compilation a alors planté, et comme je n'y connais pas grand chose en C++, j'ai entrepris d'écrire ligne par ligne le code de microchip et de compiler le programme à chaque ligne afin de voir où est ce que cela ne passait pas.
A première vue, il me semble que la compilation ne connaisse pas les fonctions de la librairie setupapi.dll (bien que j'ai incluse celle ci au début du programme), ces fonctions sont celles nécessaires à l'énumération et l'initialisation des périphériques USB.
De plus, il me semble également que les fonctions de la librairie System.dll de Framework 2.0 ne sont pas reconnues non plus. (Je ne vous cache pas que je parle chinois pour moi !!)
J'ai cependant remarqué que le fichier system.dll était référencé dans les références du projet de microchip. J'ai donc essayé de le référencer dans ma DLL mais je n'y suis pas arrivé car lorsque je clique sur la case "Ajouter une référence", aucun choix n'est possible.
Je cherche quelques bonnes âmes qui veulent bien me donner quelques pistes de recherches, par exemple s'il est possible ou non de référencer des fichiers dans une dll ? Ou sinon, comment je peux faire pour pouvoir faire appel aux fonctions de setupapi.dll et system.dll dans le code de ma DLL ?
J'ai quelques bouquins de conseils pour le C++, mais ca ne m'aide pas des masses !
Merci beaucoup de l'aide que vous voudrez bien m'apporter !!
Jérôme.
Partager