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 :

Problème de .dll


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 3
    Par défaut Problème de .dll
    Bonjour,

    Je me permet de vous solliciter pour un petit problème que je n'arrive pas à résoudre. Voilà je développe une application en C sur code block et celle ci doit être lié à une base de données MySQL. Pour cela j'ai importé la librairie, je l'ai linké et j'ai mis le fichier libmysql.dll dans le dossier de mon appli mais cella ne fonctionne pas. Le message d'erreur que j'obtiens m'a permis de remonter le problème jusqu'à arrivé à la conclusion que mon .dll n'est pas pris en compte. J'obtiens une erreur me disant "le point d'entrée DllRegisterServer est introuvable", auriez vous des idées?

    En info supplémentaire je suis sous windows 10 et j'ai directX 12.
    Merci beaucoup de votre aide

  2. #2
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 540
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 540
    Par défaut
    salut

    1-soit c'est une dll non COM ,je ne comprends pas pourquoi à l'édition des liens,les références à la dll ne sont pas liées

    Il faut aller sur le site de MySQL il y a certainement des fichiers lib et d'en tête .h
    Donc dans le projet sous CodeBlock , il faut inclure les bibliothèques lib de mysql et dans le code source déclarer des include permettant la liaison avec les fichiers d'en tête de MySQL.
    A moins que ça ne soit déjà fait

    Si ça ne fonctionne pas, par prograrmmation dynamique et en runtime il est possible de charger une dll avec l'API LoadLibrary
    Ensuite il faut dans le code source déclarer des pointeurs de fonction.
    Consulter le MSDN à ce sujet sinon sur le site de developpez.com il doit y avoir un tuto pour ça


    2- si on a un appel à DllRegisterServer alors c'est apparemment une dll COM
    Donc dans le code source il est obligatoire d'initialiser COM avec CoInitialize sinon la dll ne sera jamais chargée
    Ensuite pour ce qui est de l'appel des fonctions de la dll c'est là où ça devient compliqué

    Mais tu ne mets pas de code...

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 3
    Par défaut
    Les includes nécessaires ont bien était mis, tout les .h sont présnet dans mon dossier Code Blocks avec le lien qui est fais entre mon projet et les .h, idem pour le lib.
    J'ai simplifier au mieu et juste ça me fais apparaître que mon appli cesse de fonctionner directement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    #include <stdio.h>
    #include <winsock.h>
    #include <MYSQL/mysql.h>
     
    void main(){
     
    MYSQL mysql;
    mysql_init(&mysql);
     
    }
    pour ce qui est de DllRegisterServer, j'ai essayé de lancer mon .exe en mode administrateur pour avoir plus de détails sur l'erreur et c'est la que j'ai eu le droit au "le point d'entrée DllRegisterServer est introuvable"

  4. #4
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 540
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 540
    Par défaut
    et en appelant regsvr32 nom de la dll ?

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 3
    Par défaut
    Le résultat est le même "le point d'entrée DllRegisterServer est introuvable"

  6. #6
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 540
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 540
    Par défaut
    salut pourtant sur le site de MySQL ily a toute la marche à suivre

    https://dev.mysql.com/doc/connector-cpp/en/

    sinon j'arrive pas à voir si c'est une dll Active X COM ou une simple dll type "C"
    Pour appeler une dll COM il faut obligatoirement appeler CoInitialize dans le code

Discussions similaires

  1. Problème utilisation DLL
    Par Tub-95 dans le forum MFC
    Réponses: 4
    Dernier message: 02/11/2005, 12h00
  2. conteneur de la STL (problème avec DLL et COM)
    Par moldavi dans le forum MFC
    Réponses: 8
    Dernier message: 25/07/2005, 22h43
  3. Problème de dll à l'execution
    Par gege2061 dans le forum Windows
    Réponses: 3
    Dernier message: 11/03/2005, 11h22
  4. problème execution dll
    Par semenzato dans le forum MFC
    Réponses: 15
    Dernier message: 19/12/2003, 16h40
  5. Problème de DLL.
    Par Lunedor dans le forum C++Builder
    Réponses: 2
    Dernier message: 29/11/2003, 10h17

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