Créer une bibliotheque en c++
Fermé
BQss
-
24 oct. 2007 à 10:55
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 1 mai 2016 à 23:33
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 1 mai 2016 à 23:33
A voir également:
- Créer une bibliothèque en c
- Créer un compte gmail - Guide
- Créer un compte google - Guide
- Créer une liste déroulante excel - Guide
- Créer un groupe whatsapp - Guide
- Créer une adresse hotmail - Guide
6 réponses
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
26 févr. 2008 à 16:30
26 févr. 2008 à 16:30
Salut BQss
Ton message date un peu, je ne l'ai pas vu plus tôt. Bref...
Pour générer une bibliothèque, il faut bien séparer l'implementation des fonctions et variable à mettre dans les .cpp de leurs déclaration à mettre dans les .h.
Une fois que cela est fait, tu compile le tout de façon à transformer tes .cpp en .o
Là, le plus gros du boulot est fait. Il suffit ensuite d'archiver tout les .o dans un .a, grace à la commande ar :
ar -r libTOTO.a *.o
puis il faut faire l'index :
ranlib libTOTO.a
quelques rappel sur les déclaration :
double a;
est une déclaration ET une implémentation, dans un .h il faut mettre extern double a;
les class est struct doivent être mise. Il existe deux type de déclaration :
class a; qui défini juste la class a afin de pouvoir utiliser a comme type
class a{...}; contenant l'ensemble des membres de la class. Les fonctions, constructeurs et méthodes de la classe sont aussi à implémenter dans un .cpp.
En revanche, les template et fonction inline sont à conserver dans le .h.
Une fois ton .a créé, il faut inclure les .h dans ton fichier source où tu veux utilisé ta bibliothèque, et lier la bibliothèque avec -lTOTO sous gcc.
Ton message date un peu, je ne l'ai pas vu plus tôt. Bref...
Pour générer une bibliothèque, il faut bien séparer l'implementation des fonctions et variable à mettre dans les .cpp de leurs déclaration à mettre dans les .h.
Une fois que cela est fait, tu compile le tout de façon à transformer tes .cpp en .o
Là, le plus gros du boulot est fait. Il suffit ensuite d'archiver tout les .o dans un .a, grace à la commande ar :
ar -r libTOTO.a *.o
puis il faut faire l'index :
ranlib libTOTO.a
quelques rappel sur les déclaration :
double a;
est une déclaration ET une implémentation, dans un .h il faut mettre extern double a;
les class est struct doivent être mise. Il existe deux type de déclaration :
class a; qui défini juste la class a afin de pouvoir utiliser a comme type
class a{...}; contenant l'ensemble des membres de la class. Les fonctions, constructeurs et méthodes de la classe sont aussi à implémenter dans un .cpp.
En revanche, les template et fonction inline sont à conserver dans le .h.
Une fois ton .a créé, il faut inclure les .h dans ton fichier source où tu veux utilisé ta bibliothèque, et lier la bibliothèque avec -lTOTO sous gcc.
plz je peut demander d'envoyer un langage c de bibliotheque parce que j'ai un mini projet pour le faire et j'ai besoin de vous
Salut , j ai besoin la liste des matèrieaux pour monter une bibliothèque virtuelles
merci bye @+ portez vous bien
merci bye @+ portez vous bien
alex le boss
Messages postés
118
Date d'inscription
jeudi 20 novembre 2008
Statut
Membre
Dernière intervention
25 juillet 2011
8
17 janv. 2010 à 21:40
17 janv. 2010 à 21:40
moi je veut creer une bibliothèque virtuel "médiathèque" pour ranger met 500 et peut etre plus dvd comment faire
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut !!
Après avoir créé libTOTO.a, comment faire ensuite. Je m'explique, ma librairie contient un fichier op_base.h et le op_base.cpp associé.
Dans mon source principal, j'inclus comme ça:
#include <op_base.h>
...
et je compile comme ça:
g++ -l chemin/libTOTO.a -c code.cpp
Mais il me dit que op_base.h n'existe pas.
J'ai essayé d'enlever le .a, d'enlever le préfixe lib,... mais rien n'y fait
Que faut-il faire ?
Après avoir créé libTOTO.a, comment faire ensuite. Je m'explique, ma librairie contient un fichier op_base.h et le op_base.cpp associé.
Dans mon source principal, j'inclus comme ça:
#include <op_base.h>
...
et je compile comme ça:
g++ -l chemin/libTOTO.a -c code.cpp
Mais il me dit que op_base.h n'existe pas.
J'ai essayé d'enlever le .a, d'enlever le préfixe lib,... mais rien n'y fait
Que faut-il faire ?
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
1 mai 2016 à 23:33
1 mai 2016 à 23:33
il faut lui donner le .h:
Le .h ne sert à rien dans le .a, il doit être à part.
g++ -lTOTO -Ichlin_to_op_base.h code.cpp
Le .h ne sert à rien dans le .a, il doit être à part.
quesqu'il faut faire pour crée un bibliothéque en C++
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
7 avril 2009 à 12:10
7 avril 2009 à 12:10
Heu.... 8-(
Tu sais lire ? C'est ce que j'explique le message d'avant.
Tu sais lire ? C'est ce que j'explique le message d'avant.