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 :

Créer une .dll


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 49
    Par défaut Créer une .dll
    Bonjour,

    Le code ci-joint a été compilé avec succès en Visual C++ pour créer un fichier .dll qui doit servir d'interface avec un autre langage. Je souhaiterais faire de même en Dev-C++ mais le compilateur refuse de générer le fichier et crée uniquement un fichier .o (j'ai essayé à la fois les options "New Project" -> "DLL" et "Project" -> "project options" dans l'IDE de Dev-C++ (version 4) mais sans succès). Je n'ai sans doute pas su traduire certaines fonctions VisualC++ en Dev-C++.

    Merci d'avance pour toute proposition de réponse ou conseil pouvant m'aider à résoudre ce problème.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Ce code suffit à créer une DLL avec Visual?

    Voilà qui me surprend, car je ne vois aucun mot-clé indiquant qu'une fonction est exportée. Donc, soit ta DLL n'exporte aucune fonction, soit du as un fichier .def non loin (dont je doute de la compatibilité avec Dev-C++/MinGW)

    windows.h est inclus dans MinGW, maisje ne connais pas mmsystem.h.
    Quant aux headers de Prolog, je ne sais pas s'ils présentent des incompatibilités ou non, je ne les connais pas...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 49
    Par défaut
    C'est en effet une erreur de ma part. Ci-joint, voici le programme que j'avais prévu de vous envoyer et dont je souhaiterais connaître l'équivalent en Dev-C++. Avec toutes mes excuses pour ce contre-temps.

    Au sujet du header "mmsystem" il se trouve (ainsi que "windows.h") dans le répertoire Include de la version Dev-C++ que j'utilise.

    Merci d'avance pour votre compréhension.
    Fichiers attachés Fichiers attachés

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Tu devrais mettre directement le contenu du fichier entre les balises [ code ] [ /code ] histoire qu'on n'aît pas à le télécharger pour le voir...

    Enfin, là, je ne vois rien qui, dans visual, déclare que la fonction install() est exportée. (car au niveau de la DLL elle-même, c'est bien cette fonction qui est supposée être exportée et non pl_say_hello()).

    Mais également, je ne sais pas ce à quoi correspond install_t...
    Et dans ce fichier source, je n'ai rien vu qui marche sous visual et qui ne marcherait pas sous MinGW...

    Par contre, j'ai vu une erreur: Il faut un LPCTSTR et non un LPCWSTR...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 49
    Par défaut
    Je crois avoir trouvé une sollution plus simple et rapide que le passage par une .dll. Mon problème étant en partie résolu, je me déleste et vous remercie pour votre aide.

Discussions similaires

  1. Comment créer une dll à parti d'un programme en C
    Par laetous dans le forum Windows
    Réponses: 5
    Dernier message: 02/09/2006, 11h05
  2. [VB6]comment créer une dll
    Par kboo dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 12/04/2006, 14h32
  3. Comment (ou peut on) créer une DLL .NET ?
    Par Mickey.jet dans le forum Delphi .NET
    Réponses: 4
    Dernier message: 02/04/2006, 15h54
  4. Comment créer une dll Win32 sous Delphi ?
    Par Mickey.jet dans le forum Langage
    Réponses: 8
    Dernier message: 16/06/2005, 15h38
  5. [MFC]Créer une DLL BIS
    Par Furtif_00 dans le forum MFC
    Réponses: 5
    Dernier message: 28/06/2004, 14h48

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