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 :

Créer et utiliser une librairie en VS 6.0


Sujet :

Visual C++

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 104
    Points : 115
    Points
    115
    Par défaut Créer et utiliser une librairie en VS 6.0
    Salut !

    Je viens de me créer un projet en C++ qui me permet d'utiliser plus facilement les chaines.

    J'ai surchargé les opérateurs + , =, == afin d'éviter l'utilisation de strcpy strcmp etc...

    Bref, j'aimerais maintenant savoir comment créer la librairie.
    Mon but est en fait de pouvoir #include <chaine.h> en C et ainsi pouvoir utiliser le type Chaine et toutes les méthodes associées. (en C toujours)

    Ne pas confondre avec le #include "chaine.h". En effet, je sais utiliser un .h lorsqu'il est intégré au projet.

    J'espère avoir été assez clair.

  2. #2
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Cemos Voir le message
    Je viens de me créer un projet en C++ qui me permet d'utiliser plus facilement les chaines.

    J'ai surchargé les opérateurs + , =, == afin d'éviter l'utilisation de strcpy strcmp etc...

    Bref, j'aimerais maintenant savoir comment créer la librairie.
    Mon but est en fait de pouvoir #include <chaine.h> en C et ainsi pouvoir utiliser le type Chaine et toutes les méthodes associées. (en C toujours)
    Tu veux utiliser une bibliothèque écrite en C++ dans une application C ? Je ne pense pas que ce soit possible... Le contraire est courant.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 104
    Points : 115
    Points
    115
    Par défaut
    Maintenant que tu fais la remarque, je me rend compte de ma possible "connerie" lol.

    Supposons donc que tu as raison, ma question reste valable. Comment créer une librairie en C, et pouvoir la réutiliser dans un projet.

    Ex : je crée un fonction.h dans lequel je délare une simple signature de fonction void fct(); J'implémente cette fonction void fct(); dans le fonction.c.

    Quelle est la marche à suivre pour que mon fonction.h puisse se trouver dans mon dossier VC98/Include de Visual Studio et que je puisse l'utiliser dans n'importe quel projet à l'aide d'un #include <fonction.h>

    Merci

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 104
    Points : 115
    Points
    115
    Par défaut
    J'ai à moitié réussi.

    Le seul problème : J'ai du mettre l'implémentation de mes fonctions dans mon .h

    n'est-il pas possible de créer un .lib qui prenne en compte l'implémentation de mes fonctions ? Et de ne laisser que les signatures des fonctions dans le .h ?

  5. #5
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Cemos Voir le message
    Supposons donc que tu as raison, ma question reste valable. Comment créer une librairie en C, et pouvoir la réutiliser dans un projet.
    Je ne connais pas les détails avec VC. Voici le principe et comment on fait avec gcc :

    http://emmanuel-delahaye.developpez....m#bibliotheque

    Exemple réel :

    http://emmanuel-delahaye.developpez.com/clib.htm

  6. #6
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Cemos Voir le message
    Le seul problème : J'ai du mettre l'implémentation de mes fonctions dans mon .h
    Ce qui est évidemment une grossière erreur...
    n'est-il pas possible de créer un .lib qui prenne en compte l'implémentation de mes fonctions ? Et de ne laisser que les signatures des fonctions dans le .h ?
    Déjà répondu.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 104
    Points : 115
    Points
    115
    Par défaut
    Pour en revenir, j'ai créé mon rpojet avec mon chaine.c et mon chaine.h, bien entendu pas de main().

    Toi qui utilise gcc, l'as tu déjà fait ? Le projet doit être un static Library, dynamic link library ?

    Saurais-tu me donner davantages de pistes ?

  8. #8
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Cemos Voir le message
    Pour en revenir, j'ai créé mon rpojet avec mon chaine.c et mon chaine.h, bien entendu pas de main().

    Toi qui utilise gcc, l'as tu déjà fait ? Le projet doit être un static Library, dynamic link library ?
    Static library.

    J'ai déjà indiqué la procédure avec gcc. Ele ne devrait pas être très différente avec VC++...

    D'une façon générique :

    - créer un projet de type static library C
    - ajouter le fichier .c
    - ajouter le fichier .h (éventuellement, ça dépend des IDE)
    - générer le code.

    on doit obtenir un fichier .lib. (.a avec gcc)

    Les détails sont à lire dans le mode d'emploi de ton IDE...

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 104
    Points : 115
    Points
    115
    Par défaut
    Je compile, mon .lib se crée, et à cet instant il me demande : "Please specify the executable file". A priori, je n'est pas d'executable de généré puisqu'il s'agit d'un .lib.

    J'ai fait une rechercher sur MSDN à propos de VC++ 6.0, mais pas évident. Peu d'articles interessants.

    J'avance mais je suis encore et toujours preneur d'une idée...

    Merci.

  10. #10
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Cemos Voir le message
    Je compile, mon .lib se crée, et à cet instant il me demande : "Please specify the executable file".
    Tu es certain d'avoir créé un projet de type 'static library' ?

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 104
    Points : 115
    Points
    115
    Par défaut
    Oui, la preuve étant que mon .lib est généré ...

  12. #12
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Cemos Voir le message
    Oui, la preuve étant que mon .lib est généré ...
    Alors il y a un autre projet 'exécutable' ouvert quelque part dans le même espace de travail ?

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 104
    Points : 115
    Points
    115
    Par défaut
    Même combat : le titre de la fenêtre : Executable For Debug Session...

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Alors, c'est que tu t'es trompé de bouton: Au lieu de cliquer sur Build, tu as cliqué sur Execute...

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 104
    Points : 115
    Points
    115
    Par défaut
    OK, j'ai mon .lib, mon .h, comment dois-je procéder maintenant pour que je puisse appeler mon header <chaine.h> et non "chaine.h".

    Je veux en fait pouvoir appeler un header file sans devoir l'ajouter à mes Header Files de mon projet.

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    C'est simple: Tu ajoutes le dossier où se trouve le header dans les Additional Include Directories de ton projet.

  17. #17
    Membre actif
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 646
    Points : 240
    Points
    240
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Alors, c'est que tu t'es trompé de bouton: Au lieu de cliquer sur Build, tu as cliqué sur Execute...
    , loool

Discussions similaires

  1. Créer et utiliser une librairie avec ressource
    Par La March dans le forum Android
    Réponses: 0
    Dernier message: 24/06/2014, 17h20
  2. Comment créer et utiliser une librairie ?
    Par Baptiste Wicht dans le forum Débuter
    Réponses: 2
    Dernier message: 08/06/2011, 05h40
  3. [Lazarus] Créer et utiliser une librairie .dll ou .so
    Par parhelie dans le forum Lazarus
    Réponses: 2
    Dernier message: 08/08/2010, 15h24
  4. Creer et utiliser une librairie externe à l'exécutable
    Par multani dans le forum Autres éditeurs
    Réponses: 7
    Dernier message: 06/11/2003, 10h11
  5. Utiliser une librairie graphique
    Par Troopers dans le forum Linux
    Réponses: 6
    Dernier message: 22/08/2003, 11h22

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