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

Autres éditeurs Discussion :

Utilisation API C en C++ sans .lib


Sujet :

Autres éditeurs

  1. #1
    Membre régulier Avatar de Jerome S
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 62
    Points : 89
    Points
    89
    Par défaut Utilisation API C en C++ sans .lib
    Bonjour,
    Je vous présente mon problème d'aujourd'hui :
    Je dois me connecter à une base de donnée propriétaire, donc non-accessible via SQL, ou quoi que ce soit de connue.
    J'ai en ma possession : les .h, les dll et la doc des fonctions. Oui, ce sont bien des fonctions, et non des méthodes, donc c'est du C, alors que mon projet est en C++.
    D'après ce que j'ai compris, je peux utiliser soit le SDK, soit l'API.
    Dans un premier temps, j'ai voulu utiliser l'API (d'apparence plus simple à utiliser). J'ai donc inclus mon fichier ***api.h
    L'auto-completion me reconnait bien les fonctions et me les proposent avec le prototype. La compilation se passe sans soucis, mais l'édition de lien..
    J'ai un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [ILINK32 Erreur] Error : 'pilg_login' externe non résolu, référencé depuis ****.OBJ
    Il me paraitrai logique que je doive lier la dll au projet, mais lorsque je souhaite transformer la dll en lib, l'opération est impossible (dll protégée ?).
    Je travaille avec CodeGear Builder C++. J'ai essayé d'écrire ceci dans mon .h :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    extern "C"
    {
       int pilg_login(...) //prototype complet
    }
    mais ca ne m'avance pas plus...

    Donc, je me retrouve avec des .h, la dll, la doc mais je ne sais pas comment mettre tout ca ensemble pour obtenir le résultat escompté.
    Des idées ?
    Merci d'avance ! Cordialement, Jérôme
    Dans le monde, il y a 10 types de personnes. Ceux qui comprennent ce message et les autres

  2. #2
    Membre régulier Avatar de Jerome S
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 62
    Points : 89
    Points
    89
    Par défaut
    Je suis vraiment désolé du double post, mais j'ai besoin de mes infos :S
    Si l'énoncé n'est pas assez clair, ou s'il vous faut plus de précision, je peux corriger !
    Merci d'avance !
    Dans le monde, il y a 10 types de personnes. Ceux qui comprennent ce message et les autres

  3. #3
    Membre confirmé Avatar de saad.hessane
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 315
    Points : 496
    Points
    496
    Par défaut
    Bonjour,
    Tu as essayé de tester ce que tu veux faire dans un projet C ? Si cela marche je t'aurais conseiller de mettre dans les .h le extern C mais tu y as déjà pensé.
    Tu es sûre d'avoir définit le chemin du .lib?
    J'ai pas d'autres idées pour l'instant désolé...

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 382
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 382
    Points : 4 936
    Points
    4 936
    Par défaut
    si j'ai bien compris le truc, tu as la dll et le header seulement, dans ce cas, il va falloir charger les adresses des fonctions de la dll à la main, à coup de LoadLibrary et de GetProcAddress.

Discussions similaires

  1. Utiliser un DLL sans .LIb et sans .DEF
    Par ZJP972 dans le forum Dev-C++
    Réponses: 1
    Dernier message: 05/07/2007, 21h39
  2. C : utilisation de getopt - il boucle sans fin...
    Par moussmouss dans le forum C
    Réponses: 14
    Dernier message: 21/12/2005, 11h35
  3. Réponses: 11
    Dernier message: 28/10/2005, 09h21
  4. Réponses: 5
    Dernier message: 06/07/2005, 14h51
  5. [servlet][api][download] Où trouver la lib servlet.jar ?
    Par cpr0 dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 03/02/2004, 21h07

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