Créer une bibliotheque en c++

BQss -  
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour, j'ai créé un ensemble des fonction generant des lois aleatoires usuelles et je voudrais en faire une bibliotheque pour pouvoir appeler ces fonctions depuis n'importe qu'elle code c++.

Mais le probleme c'est que je n'ai "aucune" notion sur comment faire cela.
Je sais que je dois faire un *.h, puis generer une bibliotheque statique .a .

Mais comment proceder?

J'utilise devc++, mais si vous savez comment m'expliquer pour créer ca sans l'aide de dev c++(en compilant un a un ce qu'il faut sans utiliser un projet) je suis preneur aussi.

Merci de votre aide...
Configuration: Windows XP
Firefox 2.0.0.8

6 réponses

  1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    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.
    19
  2. 159951
     
    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
    1
  3. ben
     
    Salut , j ai besoin la liste des matèrieaux pour monter une bibliothèque virtuelles
    merci bye @+ portez vous bien
    0
  4. alex le boss Messages postés 143 Statut Membre 8
     
    moi je veut creer une bibliothèque virtuel "médiathèque" pour ranger met 500 et peut etre plus dvd comment faire
    0
    1. bob le bob
       
      -.-'
      0
    2. shy
       
      -_- -_- -_- -_- -_- -_-
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. anon
     
    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 ?
    0
    1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
       
      il faut lui donner le .h:
      g++ -lTOTO -Ichlin_to_op_base.h code.cpp

      Le .h ne sert à rien dans le .a, il doit être à part.
      0
  7. ftsaloo
     
    quesqu'il faut faire pour crée un bibliothéque en C++
    -1
    1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
       
      Heu.... 8-(
      Tu sais lire ? C'est ce que j'explique le message d'avant.
      0