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

Qt Creator Discussion :

Appel d'une DLL


Sujet :

Qt Creator

  1. #1
    Membre habitué
    Homme Profil pro
    Electronicien
    Inscrit en
    Novembre 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Electronicien
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2012
    Messages : 35
    Points : 131
    Points
    131
    Par défaut Appel d'une DLL
    Bonjour,

    Je viens de découvrir Qt Creator et je bute sur le problème suivant :
    Je dispose d'une carte d'entrées/sorties sur port USB.
    Le fabricant me fourni une dll et un fichier .h.
    J'ai suivi tous les tuto que j'ai trouvé mais pour finir, à la compilation, Qt me dit
    erreur : LNK1181: impossible d'ouvrir le fichier en entrée 'TCUSB18A.dll
    La dll se trouve à la racine de mon projet et J'ai ajouté LIBS += MADLL.dll dans le fichier .pro
    Pour l'instant, je sèche !

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 617
    Points : 188 587
    Points
    188 587
    Par défaut


    Le compilateur n'en a que faire d'un fichier DLL : elle ne contient que le code compilé des fonctions, alors que le compilateur ne souhaite que savoir où trouver ces fonctions. Vu le message d'erreur, tu utilises Visual C++, tu devrais utiliser un fichier .lib (à tout hasard TCUSB18A.lib). Si tu n'as vraiment qu'une DLL et un fichier d'en-tête, tu as vraiment une mauvaise bibliothèque, puisque le nécessaire pour l'employer n'est pas livré ; tu dois alors générer le fichier .lib (par exemple, http://stackoverflow.com/questions/9...-a-header-file).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Membre habitué
    Homme Profil pro
    Electronicien
    Inscrit en
    Novembre 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Electronicien
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2012
    Messages : 35
    Points : 131
    Points
    131
    Par défaut
    Bonjour, je reviens sur le sujet avec un peu plus de billes.

    Je résume :
    Je dispose d'une carte d'entrées/sorties sur port USB, TCUSB18A de 3C-Concept. Je sais la piloter sous Windows en VB.net et en Lazarus.
    Je tache maintenant de faire de même en C++ sous QT et QT Creator sur lequel j'ai une connaissance de type plutôt bureautique.

    Je dispose d'une dll, d'un fichier .h et effectivement aussi d'un fichier .lib.
    Comment dois-je faire pour utiliser ma carte dans mon programme ?
    Cordialement,

    Xavier

  4. #4
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 617
    Points : 188 587
    Points
    188 587
    Par défaut
    Dans le fichier de projet (.pro) :
    - ajouter dans la variable INCLUDEPATH le chemin vers ton fichier d'en-tête ;
    - ajouter dans la variable LIBS les fichiers .lib.
    Dans ton projet, tu inclus alors les fichiers d'en-tête nécessaires.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  5. #5
    Membre habitué
    Homme Profil pro
    Electronicien
    Inscrit en
    Novembre 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Electronicien
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2012
    Messages : 35
    Points : 131
    Points
    131
    Par défaut On y est presque !
    Citation Envoyé par dourouc05 Voir le message
    Dans le fichier de projet (.pro) :
    - ajouter dans la variable INCLUDEPATH le chemin vers ton fichier d'en-tête ;
    - ajouter dans la variable LIBS les fichiers .lib.
    Dans ton projet, tu inclus alors les fichiers d'en-tête nécessaires.
    Bonjour Dourouc05,

    Merci pour les infos.
    Elles n'étaient pas encore suffisantes mais je crois que je vais pouvoir faire le reste du chemin tout seul.
    En effet, ma lib a été générée avec une version de Visual.C++ et j'utilise QT avec MinGW qui ne sait pas utiliser cette bibliothèque.
    heureusement j'ai trouvé "LIB2A" qui converti mon fichier.lib en fichier.a utilisable.
    Après quelques tâtonnements, ça compile sans erreurs.
    Je n'ai plus qu'a essayer en vraie grandeur avec ma carte d'E/S.
    A+

    Xavier

Discussions similaires

  1. Appel d'une DLL dans une servlet
    Par blan dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 21/02/2007, 18h35
  2. Erreur lors de l'appel d'une DLL créée avec Visual
    Par WELCOMSMAIL dans le forum C++Builder
    Réponses: 6
    Dernier message: 06/09/2006, 15h53
  3. PB appel d'une DLL
    Par maveric dans le forum VC++ .NET
    Réponses: 2
    Dernier message: 10/08/2006, 19h17
  4. Appel d'une Dll dans le dossier courant.
    Par méphistopheles dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/07/2006, 21h00
  5. Appel d'une dll (c++) dans un programme c++
    Par cout dans le forum C++
    Réponses: 2
    Dernier message: 01/06/2006, 14h52

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