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

Visual C++ Discussion :

charger une dll avec un .lib


Sujet :

Visual C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    248
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 248
    Par d�faut charger une dll avec un .lib
    Salut,

    C'est la premi�re fois que j'essais de charger une dll.
    J'aimerai pouvoir utiliser les fonctions contenues dans la dll dont j'ai le fichier .lib associ�. D'apr�s mes lectures j'ai compris qu'il y a une fa�on dynamic pour charger une dll si on ne poss�de pas le .lib. Par contre, avec le .lib, il suffit de linker ce dernier dans visual studio et utiliser les fonctions.
    Je connais les noms des fonctions qui sont dans la dll mais je ne vois pas trop comment appeler ces fonctions dans ce cas ?


    Merci !

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2008
    Messages
    26 772
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Ao�t 2008
    Messages : 26 772
    Par d�faut
    Salut,

    Citation Envoy� par Nehm� Voir le message
    C'est la premi�re fois que j'essais de charger une dll.
    J'aimerai pouvoir utiliser les fonctions contenues dans la dll dont j'ai le fichier .lib associ�. D'apr�s mes lectures j'ai compris qu'il y a une fa�on dynamic pour charger une dll si on ne poss�de pas le .lib. Par contre, avec le .lib, il suffit de linker ce dernier dans visual studio et utiliser les fonctions.
    Je connais les noms des fonctions qui sont dans la dll mais je ne vois pas trop comment appeler ces fonctions dans ce cas ?
    Tu les appelles comme les autres fonctions de ton programme : tu inclus le ou les fichier(s) d'en-t�te, puis tu peux utiliser les fonctions, les types, les classes... qui y sont d�finis. Une seule condition : que tu lies avec le .lib.
    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 �clair�
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    248
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 248
    Par d�faut
    Salut,

    Merci pour ta r�ponse.
    Comment savoir le nom des fichiers d'ent�te qui sont dans la dll ?

  4. #4
    R�dacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Par d�faut
    Normalement quand on fourni une DLL pour VC++ on fourni 3 choses:
    -La DLL
    -Le fichier .lib associ�
    -Le fichier .H correspondant

    Si tu n'a pas le .h �a va etre plus ennuyeux...
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'�quipe Qt de Developpez.
    N'h�sitez pas � me contacter par MP.

  5. #5
    Membre �clair�
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    248
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 248
    Par d�faut
    Citation Envoy� par superjaja Voir le message
    Une seule condition : que tu lies avec le .lib.
    Comment je lie le .lib ?

    Ce que je fais est aller dans les propri�t�s du projet:
    Linker/General/Additional Library Directories et j'ajoute le path du dossier qui contient mon .lib et ma dll

    J'ai effectivement le .h mais je n'arrive pas � l'inclure.

    Merci

  6. #6
    R�dacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur s�curit� informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Chercheur s�curit� informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Par d�faut
    Citation Envoy� par Nehm� Voir le message
    Comment je lie le .lib ?

    Ce que je fais est aller dans les propri�t�s du projet:
    Linker/General/Additional Library Directories et j'ajoute le path du dossier qui contient mon .lib et ma dll
    Il faut ensuite sp�cifier la biblioth�que:

    Menu: Project > xxx Properties
    puis

    Configuration Properties > linker > input > Additional Dependencies
    Il suffit d'entrer le nom de la lib (pas son chemin complet juste le fichier).

    J'ai effectivement le .h mais je n'arrive pas � l'inclure.
    Le plus simple est de sp�cifier un r�pertoire d'include additionnel :

    Toujours dans la page des propri�t�s:

    Configuration Properties > C/C++ > General > Additional Include directories
    Ensuite, dans le code:


  7. #7
    Membre extr�mement actif
    Avatar de randriano
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 221
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 221
    Par d�faut
    Citation Envoy� par superjaja Voir le message
    Normalement quand on fourni une DLL pour VC++ on fourni 3 choses:
    -La DLL
    -Le fichier .lib associ�
    -Le fichier .H correspondant

    Si tu n'a pas le .h �a va etre plus ennuyeux...
    Ben, tout a �t� dit je pense
    Le probl�me error LNK2019 est g�n�ralement d� � une mauvaise liaison lorsque tu as li� le .lib

    En effet, est-ce que tu as le .H? Car le LIB et le H doivent aller de pair

    Et il suffit:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    #include <gdiplus.h>				// Base include
    #pragma comment(lib, "gdiplus.lib")
    Pas besoin d'inscrire le DLL quelque part dans VC++! Mais faut toujours l'avoir bien s�r dans le bon r�pertoire
    randriano.dvp.com
    D�veloppeur. Product Owner [Agile]. Sites web, mobile apps, syst�me d'information (SI).

  8. #8
    Membre �clair�
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    248
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 248
    Par d�faut
    Merci pour vos r�ponses !

    Ca fonctionne maintenant. Ce que j'ai fait est explorer la dll avec Dependency Walker. J'ai vu que la fonction :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    BOOL LoadModel(LPCTSTR pszFilename);
    dans le .h recu avec la dll existe dans la dll sous diff�rente forme (d'apr�s dependency walker):
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    BOOL LoadModel(const char* pszFilename);
    J'ai juste changer le .h et maintenant ca fonctionne !

    Merci pour votre aide !

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Charger une dll avec MinGW
    Par bertrand125 dans le forum C++
    R�ponses: 6
    Dernier message: 24/10/2012, 00h44
  2. [windows] charger une dll (avec classe)
    Par superpok dans le forum Windows
    R�ponses: 11
    Dernier message: 09/09/2007, 11h15
  3. charger une DLL avec param�tres
    Par cyberchand dans le forum C#
    R�ponses: 6
    Dernier message: 29/05/2007, 16h28
  4. R�ponses: 3
    Dernier message: 24/11/2006, 11h12
  5. cr��r une dll avec borland c++ compiler
    Par juju62610 dans le forum Autres �diteurs
    R�ponses: 5
    Dernier message: 26/02/2003, 09h46

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