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++Builder Discussion :

Importer une lib


Sujet :

C++Builder

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Par défaut Importer une lib
    Bonjour

    Je débute sous C++ Builder 6 (et en C++, je suis plutôt C). Je souhaite intégrer une librairie composée
    d'une .dll et d'un .lib.
    Pour tout dire c'est inpout32.dll qui permet d'accéder directement au port
    parallèle.

    J'ai fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    impdef.exe -a inpout32_bcc.def inpout32.dll
    implib.exe -a inpout32_bcc.lib inpout32_bcc.def
    Ensuite je déclare dans le source :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    short _stdcall Inp32(short PortAddress);
    void _stdcall Out32(short PortAddress, short data);

    Ensuite dans la fonction du bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
        Out32(0x378, 0xAA);
    }
    Et là le msg d'erreur :
    [Linker Error] Unresolved external '__stdcall Out32(short, short)'
    referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\UNIT1.OBJ

    A noter que j'ai testé sous Visual Studio Express 2005 et cette dll marche très bien !

    Je suis un peu paumé dans cet environement RAD, toute aide me serait d'un grand secours !

    Merci


    Jean

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 80
    Par défaut
    Bonjour,

    il faud ajouter le .lib au projet:
    onglet projet->ajouter au projet.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Par défaut
    J'ai essayé ça ne fonctionne toujours pas


    Jean

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 80
    Par défaut
    ...et aucun fichier .h associe a la dll?
    Si oui,il faud faire <include madll.h> au debut du source.

    En esperant aider,je ne suis pas un pro de c++-builder non plus.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Par défaut
    Non aucun include, le "package" se compose de "inpout32.lib" et "inpout32.dll"
    et c'est tout.

    Sous VS express c'est passé come une lettre à la poste, mais là je gratte depuis quelques heures sans progresser d'un poil

    Jean

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 80
    Par défaut
    Un lien sur l'utilisation des dll avec c++-builder:
    http://lfe.developpez.com/DLL/

  7. #7
    Membre éprouvé Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par défaut
    Salut,

    Juste une remarque:
    Si c'est une library (je parle du lib) qui vient de microsoft, il faut la convertir avec l'outil "coff2omf.exe" pour quelle soit compatible Borland

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Par défaut [resolu]
    Problème résolu !

    extern "C" __declspec(dllexport) short _stdcall Inp32(short PortAddress);
    extern "C" __declspec(dllexport) void _stdcall Out32(short PortAddress, short data);


    En tout cas merci pour votre aide, spécialement à Arthur59 et son lien !


    Jean

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

Discussions similaires

  1. importer une lib static
    Par cmoibal dans le forum C
    Réponses: 3
    Dernier message: 18/01/2008, 14h28
  2. Importer une lib/DLL écrite en borland en C++
    Par dandan80 dans le forum VC++ .NET
    Réponses: 3
    Dernier message: 04/10/2006, 12h02
  3. Importer une db existante dans mysql
    Par Arbisis dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 19/02/2004, 17h02
  4. Chargement d'une lib partagée C++ dans un programme C
    Par Zero dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 30/09/2003, 16h40

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