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

Code::Blocks Discussion :

mettre un fichier.dll dans un executable


Sujet :

Code::Blocks

  1. #1
    Membre actif
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2013
    Messages : 35
    Par défaut mettre un fichier.dll dans un executable
    bonjour a tous,

    j'ai essayé en library statique en liant avant : mysqlcppconn-static.lib mais quand je compile ca me met :"you must select a host application to"run" a library.." mais je dois sans doute mal faire..
    pouvez vous me dire le procedure a faire pour inclure mysql.dll a mon executable

    merci d'avance

  2. #2
    Membre Expert

    Avatar de germinolegrand
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Octobre 2010
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2010
    Messages : 738
    Par défaut
    Peut-être appuies-tu sur Run&Build ? (l'engrenage mêlé au triangle)
    Il faut seulement Build, en effet, ça n'a pas beaucoup de sens de vouloir lancer une bibliothèque

  3. #3
    Membre Expert

    Avatar de germinolegrand
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Octobre 2010
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2010
    Messages : 738
    Par défaut
    Oh pardon, en fait tu veux seulement lier une dll à ton programme, et non développer une bibliothèque c'est ça ?

  4. #4
    Membre actif
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2013
    Messages : 35
    Par défaut
    oui je veux mettre en gros un dll a un executable svp

  5. #5
    Membre Expert

    Avatar de germinolegrand
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Octobre 2010
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2010
    Messages : 738
    Par défaut
    De quoi disposes-tu ? y a-t-il un .a ou un .lib distribué avec le .dll ?

  6. #6
    Membre actif
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2013
    Messages : 35
    Par défaut
    alors j'ai :
    mysqlcppconn-static.lib
    libmysql.dll
    libmysqlclient.a
    libmysql.lib

    voila ce que j'ai je sais pas si t'as besoin de tout ca

  7. #7
    Membre Expert

    Avatar de germinolegrand
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Octobre 2010
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2010
    Messages : 738
    Par défaut
    Bon, alors il est certain que pour que ton executable accède à une dll il faut le linker à un .a ou un .lib.

    Laquelle des deux, sincèrement je n'en sais rien.

    Si j'en crois http://dev.mysql.com/doc/refman/5.0/...g-clients.html il faudrait que tu linkes avec libmysql.lib.

    Pour ce faire, dans un projet normal (Console si tu as l'habitude), va dans Porject->Build Options->Linker Settings->Add et tu vas chercher libmysql.lib.
    Si libmysql.lib se trouve dans un sous-dossier par rapport à ton .cbp, répond Yes à la messagebox qui te demande Keep relative ? Autrement, répond absolument No .

  8. #8
    Membre actif
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2013
    Messages : 35
    Par défaut
    j'ai fais ce que tu as dit et en compilant (build and run) ca n'a pas marché
    mon fichier.exe est sensé etre plus gros apres l'execution et il fait toujours la meme taille

  9. #9
    Membre Expert

    Avatar de germinolegrand
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Octobre 2010
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2010
    Messages : 738
    Par défaut
    Je te conseille de faire les étapes de build et de run séparément. Qu'est-ce qui ne marche pas, le build ou le run ?

    Et non, tout le principe d'une dll c'est que la grosse taille reste dans la dll, l'exe reste petit

  10. #10
    Membre actif
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2013
    Messages : 35
    Par défaut
    bah je build donc le fichier.exe se crée mais quand je l'exécute il me dit pas possible il manque LIBMYSQL.dll

    mais je veux incorporer le dll dans l'exécutable , je sais pas si t'as compris ?

  11. #11
    Membre Expert

    Avatar de germinolegrand
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Octobre 2010
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2010
    Messages : 738
    Par défaut
    ah, non, je n'avais pas compris ça ^^

    Bon alors je vais expliquer deux choses ^^ :

    1) pour régler le message d'erreur il suffit de placer libmysql.dll dans le dossier d'exécution de ton .exe, par défaut il s'agit du dossier contenant le .cbp quand tu lances depuis C::B.

    2) si tu veux inclure la bibliothèque entièrement dans le .exe, dans ce cas il te faut linker avec libmysqlclient.a et non libmysql.lib d'après le lien. Par contre d'après le lien également puisque tu n'utilises pas Visual Studio, il y a peu de chances que cela fonctionne.

  12. #12
    Membre actif
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2013
    Messages : 35
    Par défaut
    ah bon bah je vais me mettre a visual studio je vais passer une longue soirée merci quand meme

  13. #13
    Membre Expert

    Avatar de germinolegrand
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Octobre 2010
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2010
    Messages : 738
    Par défaut
    C'est si important que ça de ne pas mettre de dll à côté de ton .exe ?

  14. #14
    Membre actif
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2013
    Messages : 35
    Par défaut
    oui c'est tres important sinon je m'en passerais bien , mais c'est etrange que code blocks ne permet pas ca

  15. #15
    Membre Expert

    Avatar de germinolegrand
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Octobre 2010
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2010
    Messages : 738
    Par défaut
    Ce n'est pas que code::blocks ne le permet pas, ainsi que l'indique le lien, si on veut linker en statique (donc tout mettre dans le .exe), il faut compiler avec le même compilateur qui a servi à compiler la bibliothèque, en l'occurrence VC++, et sous C::B tu utilises probablement g++.

  16. #16
    Membre actif
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2013
    Messages : 35
    Par défaut
    ok merci je viens de faire tout ca , mais en faisant build , ca m'a mis erreur pour
    #include <dirent.h>

    je peux pas compiler sous vc pourquoi? et que faire?

  17. #17
    Membre Expert

    Avatar de germinolegrand
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Octobre 2010
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2010
    Messages : 738
    Par défaut
    Parce que dirent.h n'est pas un include standard, mais unix, or VC++ n'inclue pas unix.

    il y a plusieurs solutions, je te laisse chercher
    http://stackoverflow.com/questions/5...o-2010-or-2008

  18. #18
    Membre actif
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2013
    Messages : 35
    Par défaut
    je dois linker plusieurs choses ou seulement mysqlclient.lib?
    car quand je compile il ne comprend plus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #include <windows.h>
    #include <winsock.h>
    que dois je faire?

  19. #19
    Membre Expert

    Avatar de germinolegrand
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Octobre 2010
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2010
    Messages : 738
    Par défaut
    en théorie seulement mysqlclient.lib.

  20. #20
    Membre actif
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2013
    Messages : 35
    Par défaut
    ok j'ai fait ca , je pense avoir bien avancé mais un autre probleme maintenant
    j'ai un message d'erreur dans math.h , voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    #ifndef __NO_INLINE__
    __CRT_INLINE int __cdecl __fpclassifyl (long double x){
      unsigned short sw;
      __asm__ ("fxam; fstsw %%ax;" : "=a" (sw): "t" (x));
      return sw & (FP_NAN | FP_NORMAL | FP_ZERO );
    }
    #endif
     
    #define fpclassify(x) (sizeof (x) == sizeof (float) ? __fpclassifyf (x)	  \
    		       : sizeof (x) == sizeof (double) ? __fpclassify (x) \
    		       : __fpclassifyl (x))
     
    /* 7.12.3.2 */
    #define isfinite(x) ((fpclassify(x) & FP_NAN) == 0)
     
    /* 7.12.3.3 */
    #define isinf(x) (fpclassify(x) == FP_INFINITE)
     
    /* 7.12.3.4 */
    /* We don't need to worry about truncation here:
       A NaN stays a NaN. */
    extern int __cdecl __isnan (double);
    extern int __cdecl __isnanf (float);
    extern int __cdecl __isnanl (long double);
    #ifndef __NO_INLINE__
    __CRT_INLINE int __cdecl __isnan (double _x)
    {
      unsigned short sw;
      __asm__ ("fxam;"
    	   "fstsw %%ax": "=a" (sw) : "t" (_x));
      return (sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL))
    qui dit:
    C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\math.h|361|error C2059: erreur de syntaxeÿ: ')'|
    C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\_mingw.h|30|warning C4668: '__GNUC__' non d‚fini(e) comme pr‚processeur ou macro, remplacement par '0' pour '#if/#elif'|
    C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\math.h|15|warning C4668: '__GNUC__' non d‚fini(e) comme pr‚processeur ou macro, remplacement par '0' pour '#if/#elif'|
    C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\math.h|361|error C2143: erreur de syntaxeÿ: absence de ')' avant ':'|
    C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\math.h|361|error C2059: erreur de syntaxeÿ: ')'|
    C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\math.h|361|error C3861: '__asm__'ÿ: identificateur introuvable|
    C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\math.h|387|error C2143: erreur de syntaxeÿ: absence de ')' avant ':'|
    C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\math.h|387|error C2059: erreur de syntaxeÿ: ')'|
    C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include


    bon la je sais plus quoi faire et je comprend que dalle a l'erreur..

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/09/2013, 14h04
  2. Integration d'un fichier dll dans une application Java
    Par menzlitsh dans le forum Langage
    Réponses: 3
    Dernier message: 21/09/2006, 15h54
  3. Réponses: 3
    Dernier message: 02/08/2006, 09h21
  4. Fichiers BMP dans l'executable
    Par tryonyco dans le forum C++Builder
    Réponses: 10
    Dernier message: 30/06/2006, 10h47
  5. [Tomcat]Où mettre les fichiers properties dans une appli web
    Par tchouki dans le forum Tomcat et TomEE
    Réponses: 11
    Dernier message: 31/01/2006, 17h32

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