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

Visual C++ Discussion :

[Novice] Comment intégrer une libriairie à VC6?


Sujet :

Visual C++

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Par défaut [Novice] Comment intégrer une libriairie à VC6?
    J'aimerai savoir comment intégrer une librairie à Visual C++ 6.0.

    J'ai parcouru Internet et trouver et différents tutoriels pour mais certains semblait être du bidouillage et d'autres ne marchait pas.

    J'aimerai savoir qu'elle est la procédure standart pour celà.

    Remarque : la librairie que je souhaite installé est mysql++.

    PS: @modérateur : j'avais ouvert un topic aux mauvais endroits, dans les MFC, si vous vouliez bien le fermer.

    merci.

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    tu veux lier une librairie à ton projet ? c'est ca le problème ?
    tu veux utiliser un .lib ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 391
    Par défaut
    bonjour

    pour le mysql++

    il faut juste que tu ajoute das ton projet la lib libmySGL.lib
    pour cela dans le workspace, bouton droit sur ton nom de projet puis "add files to project"

    tu dois aussi inclure le fichier mysql++.h tdans le .cpp ou tu va utiliser la lib
    avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include "C:\lepath\..\mysql++.h"
    cordialement

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Par défaut
    J'ai fait ce que tu as dit.

    Mais j'ai des erreurs.

    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
    c:\mysql++\mysql\include\mysql_com.h(115) :
     error C2146: syntax error : missing ';' before identifier 'fd'
    c:\mysql++\mysql\include\mysql_com.h(115) : error C2501:
     'SOCKET' : missing storage-class or type specifiers
    c:\mysql++\mysql\include\mysql_com.h(115) : error C2501:
     'fd' : missing storage-class or type specifiers
    c:\mysql++\include\type_info1.hh(159) : warning C4800: 
    'unsigned int' : forcing value to bool 'true' or 'false' (performance warning)
    c:\mysql++\include\type_info1.hh(172) : warning C4800:
     'int' : forcing value to bool 'true' or 'false' (performance warning)
    c:\mysql++\include\type_info1.hh(176) : warning C4800:
     'int' : forcing value to bool 'true' or 'false' (performance warning)
    c:\mysql++\include\type_info1.hh(180) : warning C4800: 
    'int' : forcing value to bool 'true' or 'false' (performance warning)
    c:\mysql++\include\type_info1.hh(184) : warning C4800: 
    'int' : forcing value to bool 'true' or 'false' (performance warning)
    c:\mysql++\include\convert1.hh(40) : warning C4273: 
    'strtol' : inconsistent dll linkage.  dllexport assumed.
    c:\mysql++\include\convert1.hh(41) : warning C4273: 
    'strtoul' : inconsistent dll linkage.  dllexport assumed.
    CLIENTView.cpp
    j'utilise mysql++ 1.7.1 win32

    @nico-piryght : oui je voulais la procédure pour ajouter une librairie avec tout ce qui va autour (dll, .h,.....)

  5. #5
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    le plus simple à mon avis est de lier la librairie par pragma, mais dans les options du projet ca va nickel aussi

  6. #6
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Par défaut
    Citation Envoyé par nico-pyright(c)
    le plus simple à mon avis est de lier la librairie par pragma, mais dans les options du projet ca va nickel aussi


    J'ai aussi essayé par project-->settings puis par tools-->options-->directories

    et ça me donne les mêmes erreurs...

  7. #7
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    ca c'est pas des erreurs de link, quelles sont les lignes concernées ?

  8. #8
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Par défaut
    Citation Envoyé par nico-pyright(c)
    ca c'est pas des erreurs de link, quelles sont les lignes concernées ?
    Justement le problème est là ce sont des lignes de la bibliothèque mysql++

    Porblème de compatibilité? je suis sous XP sp2 , VC 6 et mysql++ 1.7.1 win32

    Sinon pour les fautes j'ai réussi à les corriger d'une manière étrange:

    la faute :
    Pour l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    c:\mysql++\mysql\include\mysql_com.h(115) :
     error C2146: syntax error : missing ';' before identifier 'fd'
    c:\mysql++\mysql\include\mysql_com.h(115) : error C2501:
     'SOCKET' : missing storage-class or type specifiers
    c:\mysql++\mysql\include\mysql_com.h(115) : error C2501:
     'fd' : missing storage-class or type specifiers
    j'ai rajouté winsock.h mais j'ai du supprimé le tableau de type vector que j'avais dans mon programme parce que ça me créait plein d'erreurs

    en recompilant maintenant j'obtiens ceci :

    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
    c:\mysql++\include\type_info1.hh(39) : warning C4800:
     'int' : forcing value to bool 'true' or 'false' (performance warning)
    c:\mysql++\include\type_info1.hh(159) : warning C4800:
     'unsigned int' : forcing value to bool 'true' or 'false' (performance warning)
    c:\mysql++\include\type_info1.hh(172) : warning C4800:
     'int' : forcing value to bool 'true' or 'false' (performance warning)
    c:\mysql++\include\type_info1.hh(176) : warning C4800:
     'int' : forcing value to bool 'true' or 'false' (performance warning)
    c:\mysql++\include\type_info1.hh(180) : warning C4800:
     'int' : forcing value to bool 'true' or 'false' (performance warning)
    c:\mysql++\include\type_info1.hh(184) : warning C4800:
     'int' : forcing value to bool 'true' or 'false' (performance warning)
    c:\mysql++\include\convert1.hh(40) : warning C4273:
     'strtol' : inconsistent dll linkage.  dllexport assumed.
    c:\mysql++\include\convert1.hh(41) : warning C4273:
     'strtoul' : inconsistent dll linkage.  dllexport assumed.
    c:\mysql++\include\sql_query1.hh(37) : warning C4800:
     'class SQLQuery *' : forcing value to bool 'true' or 'false' (performance warning)
    c:\mysql++\include\sql_query1.hh(135) : warning C4355: 
    'this' : used in base member initializer list
    c:\mysql++\include\compare1.hh(48) : warning C4800:
     'int' : forcing value to bool 'true' or 'false' (performance warning)
    c:\mysql++\include\result1.hh(33) : warning C4355: 
    'this' : used in base member initializer list
    c:\mysql++\include\result1.hh(42) : warning C4800:
     'char' : forcing value to bool 'true' or 'false' (performance warning)
    j'avais 3erreurs 7 warning je n'ai plus que 13 warning

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 391
    Par défaut
    Bonjour

    J'utilise la meme version de mysql que toi et en faisant la manip ci dessus je n'ai pas de probleme de compilation, je suis sous VC6.0 avec un projet SDI avec MFC.

    il est vrai que j'avais de pb de compilation au debut en incluant mysql++ mais uniquement des fichier h qu'il ne trouvait pas.

    essaye peut etre en incluant plutot le mysql.h tout seul

    PS : pourquoi as tu besoin de la varaible my_socket de la lib ?

    cordialement

  10. #10
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,

    parametrages pour mySQL et VC6.0:

    Distribution de MySQl 1.7 opérationnelle pour vc60:


    http://farscape.developpez.com/Sampl.../MysSql1.7.zip

    chemin à specifier dans tools\options\directories:

    chemin pour les .h
    \MYSSQL1.7\INCLUDE
    \MYSSQL1.7\MYSQL\INCLUDE

    pour les .lib:
    \MYSSQL1.7\RELEASE
    \MYSSQL1.7\DEBUG

    distribuer la dll:
    \MysSql1.7\mysql\lib\libmySQL.dll

    Note: les chemins ne sont pas complets il faudra modifier selon votre implentation...

    rajouter dans son source:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #ifdef _DEBUG
    #pragma comment(lib, "dmysql++.lib")
    #else
    #pragma comment(lib, "mysql++.lib")
    #endif

  11. #11
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Par défaut
    Bon alors j'ai quelques petits soucis

    - Je ne trouve pas mysql1.7\debug dans ton package.

    - Quand tu dis : distribuer la .dll, tu parles bien du pop up "add files ton project" après un clique droit sur le nom du projet.

    - je n'arrive pas à supprimer l'ancienne .dll que j'avais mise de cette façon et n'ayant plus le chemin ça me créé une erreur.

    - la partie de code avec pragma se met où.

    - j'ai fait #include "mysql++.h". je pense ne plus avoir besoin du chemin complet. ai je raison?

    Sinon je l'ai testé j'ai mis le code avec pragma là où j'incluais mysql++.h. Mis à part l'erreur dû à la dll dont le chemin n'existe plus, j'ai beaucoup de warning comme précédemment.

    @ricky78 : je vais essayer juste en incluant mysql.h si c'est possible. mais cette en tete possède toutes les fonctions mysql?

    je n'ai pas besoin de la variable my_socket mais quand j'incluais la librairie mysql++, il me disait qu'il avait des erreurs dans ça librairie, my_socket n'était pas défini. si j'ajoutais winsok.h avant il ne me faisait plus l'erreur.

    maintenant je n'ai plus ces erreurs. ça avance ça avance

  12. #12
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Par défaut
    Juste pour dire que si je n'inclus que "mysql.h", je dois avoir un problème de dépendance car je retombe sur le problème des erreurs sur les sockets.

    En incluant winsock, ça marche mais ça reste du bidouillage. En plus, il me reste toujours le problème de la .dll que je n'arrive pas à supprimer et qui me fait une erreur à cause de son mauvais chemin.

    Je préférerais continuer avec la technique utiliser par farscape.

  13. #13
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    mysql1.7 c'est mon repertoire racine ou tu peux mettre ma distrib ...
    les warnings sont inévitables ... (sauf si tu as le courage de modifier les sources ).
    la dll est à mettre dans le chemin de recherche windows : soit dans c:\windows\system32 ou dans le même repertoire que ton executable..
    le code avec le pragma se met dans un source de ton projet.

    #include "mysql++.h" suffit si tu as reglé les chemins de recherche dans vc.

  14. #14
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    inclus uniquement #include <mysql++> et non #include <mysql++.h>

  15. #15
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Par défaut
    Citation Envoyé par farscape
    mysql1.7 c'est mon repertoire racine ou tu peux mettre ma distrib ...
    les warnings sont inévitables ... (sauf si tu as le courage de modifier les sources ).
    la dll est à mettre dans le chemin de recherche windows : soit dans c:\windows\system32 ou dans le même repertoire que ton executable..
    le code avec le pragma se met dans un source de ton projet.

    #include "mysql++.h" suffit si tu as reglé les chemins de recherche dans vc.
    Moi qui voulait un truc propre sans warning...............Non je rigole allez hop on y va.

    Pour pragma je le mets dans n'importe quel source et ça marche? c'est bien ça. va falloir que je me plonge quand j'auria le temps dans son utilisation

    Tu m'as pas dit comment je pouvais supprimer une .dll dans ressources files. mes recherches internet ne me donnent rien pour l'instant sur ça.

  16. #16
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    tu fais del sur le fichier concerné dans ton projet ...

  17. #17
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Par défaut
    tu fais del sur le fichier concerné dans ton projet ...
    Alors là je ne sais que dire.................



    Heu........pardon.

    Je me prends tellemtn la tête à aller dans les otpions à chercher ce qui correspond à quoi que j'en oublie le simple.

    Le pire c'est que je le savais pour l'avoir déjà fait. COmme quoi faut garder l'esprit ouvert

    désolé...

    gigigao, débutant informaticien honteux

  18. #18
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    tu as lu mon precedent post sur le .h ?

  19. #19
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Par défaut
    Citation Envoyé par farscape
    tu as lu mon precedent post sur le .h ?
    Oui.

    Si je me souviens bien. le ".h" est "normalement" utilisé pour les bibliothèques en C et on évite de les utiliser en C++?

    Par contre je me retrouve encore avec une erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LINK : fatal error LNK1104: cannot open file "dmysql++.lib"
    Sachant que j'ai mis le code pragma et l'include dans le fichier source MonProjetDoc.h

    Une autre question, quand tu parle de ton répertoire mysql1.7 comme répertoire de ta racine, tu veux dire que c'est là qu'est ton programme?

    auquel cas je devrais inclure le répertoire debug de mon répertoir où se situe mon projet?

  20. #20
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut

    Une autre question, quand tu parle de ton répertoire mysql1.7 comme répertoire de ta racine, tu veux dire que c'est là qu'est ton programme?
    naaan ,c'est le repertoire ou je place la distribution de mysql...
    dmysql++.lib:
    dans ma distribution je n'a pas mis ce fichier car trop gros (debug)
    il te faut reconstruire le projet en debug...

Discussions similaires

  1. Réponses: 8
    Dernier message: 18/12/2014, 11h13
  2. Comment intégrer une date lors de compilation?
    Par Xavier dans le forum C++Builder
    Réponses: 8
    Dernier message: 19/05/2006, 18h42
  3. comment intégrer une page html dans swf?
    Par jeanman dans le forum Intégration
    Réponses: 3
    Dernier message: 10/05/2006, 19h36
  4. comment intgrer une fonction en excel avec delphi
    Par kious dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 02/05/2006, 18h15
  5. Réponses: 4
    Dernier message: 01/12/2005, 14h36

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