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

VC++ .NET Discussion :

Néophyte et DLL en c++


Sujet :

VC++ .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 58
    Par défaut Néophyte et DLL en c++
    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.

  2. #2
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 58
    Par défaut
    un petit message pour dire que j'y suis arrivé, mais ce fut laborieux !!

    Donc voici la manip' que j'ai faite, au cas où elle servirait à d'autres :

    Dans propriété du projet :

    - Propriété de configuration -> Général -> « Prise en charge du Common Langage » : Choisir le choix « Prise en charge du Common Langage Runtime »
    -Editeur de Liens -> Entrée -> « Dépendances supplémentaire » : Taper setupapi.lib
    -Editeur de Liens -> General -> « Répertoire de bibliothèques supplémentaires » : taper le nom des répertoires dans lesquels se situent les fichiers setupapi.dll et system.dll.
    -Dans « Propriétés Communes » -> Structures et références : cliquer sur ajouter une nouvelle référence puis cliquer sur les composants qui vous intéressent, pour mon cas c'etait : System, System.data, System.Drawing, System.Windows.Forms et System.Xml.

    Voili voilou ! Je pense que ca doit être sacrément basique comme manipulation mais quand on ne connait pas, on tâtonne et on bidouille !


    D'ailleurs j'ai une question encore : Dans les dépendances supplémentaires, pourquoi entrer setupapi.lib et pas setupapi.dll ?

    A bientot
    Jérôme.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [CR] Infos sur l'utilisation de dll
    Par step dans le forum SAP Crystal Reports
    Réponses: 11
    Dernier message: 09/08/2002, 11h35
  2. Declarer une dll Delphi ?
    Par DelphiCool dans le forum C++Builder
    Réponses: 2
    Dernier message: 26/07/2002, 10h07
  3. Débug de DLL
    Par Bayard dans le forum C++Builder
    Réponses: 3
    Dernier message: 22/07/2002, 15h08
  4. Equivalent à ExeName pour une DLL
    Par Smortex dans le forum Langage
    Réponses: 7
    Dernier message: 16/07/2002, 21h07
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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