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 :

[API] Ajouter une dll


Sujet :

Visual C++

  1. #1
    Débutant
    Inscrit en
    Mars 2006
    Messages
    492
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 492
    Points : 94
    Points
    94
    Par défaut [API] Ajouter une dll
    Bonjour,
    je veux ajouter une dll a mon projet , je travail ave c visual Studio 2005, jai fait refferences mais je peux pas ajouter, aidez moi SVP.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 36
    Points : 28
    Points
    28
    Par défaut
    as-tu ajouté #import "tadll.dll"??

  3. #3
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    Tu ajoutes le repertoire où se trouve le .h de ta dll dans le directory des includes et tu ajoutes le repertoire où se trouve le .lib dans le directory des librairies (linker)

    Ensuite dans ton source

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #include "madll.h"
    <..>
    fonc_dll();

    Ca existe #import "madll.dll" ??? tu as testé ?

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 36
    Points : 28
    Points
    28
    Par défaut
    moi s'est se que j'ai fait pour la msxml.dll
    avec using namespace MSXML2;

    mais je sais pas si sa s'applique a tout les dll

  5. #5
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    ah d'accord

  6. #6
    Débutant
    Inscrit en
    Mars 2006
    Messages
    492
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 492
    Points : 94
    Points
    94
    Par défaut
    Citation Envoyé par hegros
    Tu ajoutes le repertoire où se trouve le .h de ta dll dans le directory des includes et tu ajoutes le repertoire où se trouve le .lib dans le directory des librairies (linker)

    Ensuite dans ton source

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #include "madll.h"
    <..>
    fonc_dll();

    Ca existe #import "madll.dll" ??? tu as testé ?
    pour cette API, il y'a Netica.dll, et Netica.h, et Netica.lib.
    jai ajouté #include<Netica.h>
    et aussi dans linker->Input-> le chemin de lib
    mais quand je fait debug il y'a erreur

    1>LINK : fatal error LNK1104: cannot open file 'C:\Documents.obj'


    je travail avec Visual Studio 2005 il y'a debug et release qu'elle est la difference?
    merci

  7. #7
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    En debug des informations sont rajoutées pour justement pouvoir débugger en mode release non c'est la version cliente

    Tu as ajouté comment le .h das le projet ? Tu peux sinon faire un clic droit sous l'arborescence où se trouve tes fichiers de ton projet et ajouté le .h de la dll et ensuite

    #include "dll.h"

    note bien que j'ai mis entre " et non entre <> (tu mets entre <> lorsque tu ajoutes le directory des includes dans la config de visual)

    Tu as essayé la méthode #import "madll.dll" ?

  8. #8
    Débutant
    Inscrit en
    Mars 2006
    Messages
    492
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 492
    Points : 94
    Points
    94
    Par défaut
    Citation Envoyé par hegros
    En debug des informations sont rajoutées pour justement pouvoir débugger en mode release non c'est la version cliente

    Tu as ajouté comment le .h das le projet ? Tu peux sinon faire un clic droit sous l'arborescence où se trouve tes fichiers de ton projet et ajouté le .h de la dll et ensuite

    #include "dll.h"

    note bien que j'ai mis entre " et non entre <> (tu mets entre <> lorsque tu ajoutes le directory des includes dans la config de visual)

    Tu as essayé la méthode #import "madll.dll" ?
    oui jai mis #include avec les "", quand jai mis #import"Netica.dll", il ya le message d'erreur qui apparait:

    fatal error C1083: Cannot open type library file: 'c:\documents and settings\abbd\mes documents\visual studio 2005\projects\dfdf\dfdf\netica.dll': Erreur lors du chargement de la bibliothèque/DLL du type.

    jai ajouter #include
    "Netica.h"
    #import "Netica.dll"
    Dans MONprojet.cpp tout en haut


    merci

  9. #9
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    Rassure-moi où se trouve la DLL,le .LIB et le .h

  10. #10
    Débutant
    Inscrit en
    Mars 2006
    Messages
    492
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 492
    Points : 94
    Points
    94
    Par défaut
    les 3 se trouve dans le repertoire de mon projet, exactement dans C:\Documents and Settings\abbd\Mes documents\Visual Studio 2005\Projects\dfdf\dfdf
    après le Netica.h je lé ajouté dans Header Files, puis jais ajouté le chemin du .lib dans linker>input, puis jais ajouté du code c-à-d l'include et l'import

    merci d'avance

  11. #11
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    Fais l'une ou l'autre méthode pas les 2 en même temps.

    Le mieux est de refaire un projet vierge avec un minimum de code (le mieux que la fonction principale et l'include du header de la dll)

    Ajouter le .h au projet (clic droit sur l'arborescence du projet/add et tu ajoutes ton .h)

    Faire ton #include "dll.h" et c'est tout puis compilé tu auras passé l'étape 1
    L'étape 2 est ensuite d'ajouter au linker le .LIB compilez si ok étape 3
    L'étape 3 est de faire appel à une fonction de la dll dans ton source.

  12. #12
    Débutant
    Inscrit en
    Mars 2006
    Messages
    492
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 492
    Points : 94
    Points
    94
    Par défaut
    pour la 1er étape quand je fait le #include ,bien sur en ajoutant dans le répertoire du projet, en compilant il me dit :
    fatal error C1083: Cannot open type library file: 'Netica.dll': No such file or directory

  13. #13
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    Citation Envoyé par abbd
    pour la 1er étape quand je fait le #include ,bien sur en ajoutant dans le répertoire du projet, en compilant il me dit :
    fatal error C1083: Cannot open type library file: 'Netica.dll': No such file or directory
    Comment peut-il te dire cela si tu inclus Netica.h ?


  14. #14
    Débutant
    Inscrit en
    Mars 2006
    Messages
    492
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 492
    Points : 94
    Points
    94
    Par défaut
    oui dsl, c'est moi qui a fait l'erreur jai ajouté #import "Netica.dll" sans faire expret,
    pour la 2ème étape il y'a erreur :
    fatal error LNK1104: cannot open file 'C:\Documents.obj'

    merci

  15. #15
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    Ok donc quand tu inclus "Netica.h" ca compile.

    Il faut pas désactiver une option dans visual pour cette erreur ? Me souviens plus

    C'est quoi la deuxiéme étape que tu as fais ?

  16. #16
    Débutant
    Inscrit en
    Mars 2006
    Messages
    492
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 492
    Points : 94
    Points
    94
    Par défaut
    la 2ème etape c'est introduire le chemin Netica.lib dans Linker>Input

  17. #17
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    Citation Envoyé par abbd
    la 2ème etape c'est introduire le chemin Netica.lib dans Linker>Input
    Ca doit pas être ici qu'il faut l'ajouter...Sinon je ne vois pas.

    Essaie en mettant cette ligne au dessus de ton #include "Netica.h"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #pragma comment lib ("C:\...\MaDll.lib");
    et vire ce que tu as fais dans l'étape 2.

  18. #18
    Débutant
    Inscrit en
    Mars 2006
    Messages
    492
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 492
    Points : 94
    Points
    94
    Par défaut
    Lorsque je tape ce code #pragma comment lib ("C:\Documents and Settings\abbd\Mes documents\Visual Studio 2005\Projects\pro\pro\netica.lib"); il y'a pas erreur

  19. #19
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    Citation Envoyé par abbd
    Lorsque je tape ce code #pragma comment lib ("C:\Documents and Settings\abbd\Mes documents\Visual Studio 2005\Projects\pro\pro\netica.lib"); il y'a pas erreur
    Par contre il faut que tu doubles les \

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #pragma comment lib ("C:\\Documents and Settings\\abbd\\Mes documents\\Visual Studio 2005\\Projects\\pro\\pro\\netica.lib");
    En plus tu as des repertoires avec des espaces ce qui ne facilite pas la tâche Tu devrais normalement les mettre entre ""

    Tu ne peux pas mettre ta lib dans un repertoire ou il n'y a pas d'espace Genre C:\LIB\NETICA

  20. #20
    Débutant
    Inscrit en
    Mars 2006
    Messages
    492
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 492
    Points : 94
    Points
    94
    Par défaut
    ok, quand je met Netica.lib dans C:\, puis je l'ajoute dans linker>input il y'a pas l'erreur de tout a l'heur je croix que c'est du au chemin qui est lon et les espaces, merci

Discussions similaires

  1. Comment Ajouter une dll a son application web ?
    Par kedare dans le forum ASP.NET
    Réponses: 7
    Dernier message: 08/02/2007, 16h47
  2. Ajouter une dll au linkage
    Par GLDavid dans le forum VC++ .NET
    Réponses: 8
    Dernier message: 04/01/2007, 13h03
  3. Réponses: 2
    Dernier message: 01/09/2006, 14h54
  4. ajouter une dll à un projet devcpp....
    Par youp_db dans le forum Windows
    Réponses: 1
    Dernier message: 28/09/2005, 21h33
  5. ajouter une dll à un projet devcpp....
    Par youp_db dans le forum Dev-C++
    Réponses: 1
    Dernier message: 28/09/2005, 20h47

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