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

C Discussion :

Compiler libusb-win32 sous Visual C++


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2013
    Messages : 57
    Par défaut Compiler libusb-win32 sous Visual C++
    Bonjour!

    Un nouveau problème s'offre à moi et je le trouve plus coriace que les autres celui-là!

    J'utilise libusb-win32 1.2.6. J'ai téléchargé les sources et créé un projet sous Visual C++ 2010 Express pour le faire compiler avant même de commencer à y apporter des modifications.

    Et là, c'est le drame.... Le fichier libusb_dyn.c fait appel à l'en-tête usb.h et il ne le trouve pas. Je me suis empressé d'aller vérifier s'il était là mais il n'apparaît nulle part.

    Alors j'ai eu une idée (peut-être stupide): vu que c'est un driver Windows, il utilise peut-être le WDK. J'ai donc essayé d'utiliser le fichier usb.h du WDK... Ca ne marche pas, forcément...
    Puis j'ai tenté de mettre le fichier de la version 0.1 puisque là, il s'y trouve. Sauf qu'il appelle unistd.h et sous Windows, ça fonctionne forcément moins bien avec des appels de fichiers Unix...

    Du coup, j'ai fait chauffer mon moteur de recherche pour avoir des infos mais c'est bien maigre. J'ai trouvé une piste, sur un site anglais (dont j'ai perdu le lien, tant qu'à faire...). Il semblerait que usb.h était utilisé sur la version 0.1 et que son nom a changé pour la version 1.0 et qu'il a eu droit à quelques modifications...

    Je suis donc bloqué, mes neurones ne sachant plus trop où chercher de solution pour parvenir à compiler libusb...

  2. #2
    Membre Expert
    Avatar de Metalman
    Homme Profil pro
    Enseignant-Chercheur
    Inscrit en
    Juin 2005
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Enseignant-Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 049
    Par défaut
    Tu pourrais mettre un lien vers le site qui distribue la libusb (surtout pour ma flemme personnelle ) ?

    Et pour ton problème : si le .h n'est pas correct, as-tu essayé de le retirer ?
    Et les sites qui parlaient du changement en version 1.0, n'indiquaient-ils pas d'autres .h à inclure (et fournis) ?
    --
    Metalman !

    Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
    Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
    gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
    (ANSI retire quelques fonctions comme strdup...)
    L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
    Et s'assurer que la logique est bonne "aussi" !

    Ma page Developpez.net

  3. #3
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Pourquoi récupérer les sources et non la version compilée de la bibliothèque ?

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2013
    Messages : 57
    Par défaut
    Citation Envoyé par Bktero Voir le message
    Pourquoi récupérer les sources et non la version compilée de la bibliothèque ?
    Si je ne peux récupérer que la bibliothèque compilé, je suis preneur! Ca me simplifierait les choses, je n'aurais plus qu'à modifier les .c comme j'en ai besoin, non?

  5. #5
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    En suivant ton lien, on va dans File, on préfère prendre une release, on choisit la version (1.2.6.0 au hasard) et à la fin on trouve libusb-win32-bin-1.2.6.0.zip. Ca contient des .lib, et des .a, un .h, des .dll. Sûrement tout ce qu'il faut pour commencer ^^

  6. #6
    Membre Expert
    Avatar de Metalman
    Homme Profil pro
    Enseignant-Chercheur
    Inscrit en
    Juin 2005
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Enseignant-Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 049
    Par défaut
    La question restante :
    Cherches-tu à modifier la libusb ou à l'utiliser pour un projet qui a besoin d'un périphérique en USB ?
    --
    Metalman !

    Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
    Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
    gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
    (ANSI retire quelques fonctions comme strdup...)
    L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
    Et s'assurer que la logique est bonne "aussi" !

    Ma page Developpez.net

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2013
    Messages : 57
    Par défaut
    Le lien vers libusb_win32

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    int usb_close(usb_dev_handle *dev)
    {
        if (_usb_close)
            return _usb_close(dev);
        else
            return -ENOFILE;
    }
    En supprimant , -ENOFILE n'est pas reconnu.
    C'est aussi le cas pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    typedef int (*usb_close_t)(usb_dev_handle *dev);
    usb_dev_handle est souligné en rouge.

    De mémoire, il fallait remplacer par usb.h par et là, usb_dev_handle est pris en compte. Mais toujours pas -ENOFILE

    Un problème résolu, un autre apparait...
    C'est maintenant le fichier libusb_driver.h qui fait des siennes.
    Initialement, j'avais ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #ifdef __GNUC__
    #include <ddk/usb100.h>
    #include <ddk/usbdi.h>
    #include <ddk/winddk.h>
    #include "usbdlib_gcc.h"
    #else
    #include <ntifs.h>
    #include <wdm.h>
    #include "usbdi.h"
    #include "usbdlib.h"
    #endif
    Il ne trouvait pas ntifs et wdm. En lançant une recherche, je les ai trouvé dans le dossier du WDK, je les ai incluse à mon dossier de projet et remplacé les <> par des "". Il ne les trouve toujours pas!
    usbdi et usbdlib sont censés faire partie des fichiers fournies dans les sources... Ben, je les ai pas

Discussions similaires

  1. Compilation de GEOS sous Visual C++ 2005
    Par figuralegoric dans le forum Visual C++
    Réponses: 1
    Dernier message: 15/09/2009, 21h23
  2. Recuperation date de compilation sous visual c++
    Par semenzato dans le forum MFC
    Réponses: 4
    Dernier message: 20/12/2005, 14h43
  3. Réponses: 7
    Dernier message: 27/09/2005, 21h40
  4. problème de compilation sous visual C++
    Par fabmili dans le forum MFC
    Réponses: 4
    Dernier message: 08/02/2004, 19h52

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