Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Création d'une librairie à partir des .c et .h [ Système / Autre ] (RV2931)

mercredi 15 octobre 2008 à 10:36:16 | Création d'une librairie à partir des .c et .h

RV2931

Bonjour,

J'utilise actuellement une "librairie", ou plutôt ses sources .c et .h, et j'aurai voulus éviter d'inclure les 36 fichiers à chaque projet qui utilise cette librairie. Je souhaiterais donc créer une librairie statique et/ou dynamique à partir de ses fichiers. Malheureusement j'ai pas trouver bcp de tutos qui correspondait à ça, c'est à dire, prendre 15 fichiers existants faits par quelqu'un'un d'autre et qu'il vaut mieux ne pas modifier et créer une librairie. Je ne maîtrise pas tout non plus sur la création et la gestion des librairie dynamique., donc je ne vois pas trop comment faire.

J'ai créer un projet de création de librairie dynamique sous Code::Blocks. J'ai vu que c'était assez simple au final, il suffit apparemment de mettre la déclaration de la fonction dans le "main.h" (example sous code::blocks) et la définition dans le "main.c". Il faut rajouter DLL_EXPORT devant chaque nom de fonction que l'on souhaite exporter, cela pour la déclaration de la fonction amis aussi pour sa définition. Je pense qu'on est d'accord, ou si je dis des bêtises, corrigez moi.

Maintenant, pour exporter les fonctions de ma librairie. Comment faire ?
Je fais un :
#include <mylibrairie_src.h>

mais après ? Pour lui dire de tout exporter ?? Dois-je rajouter un DLL_EXPORT devant toutes les fonctions de .h et .c, c'est à dire, dois-je modifier les sources ???? ce n'est pas une idée qui me plait...
N'y a-t-il pas moyen de lui dire d'exporter toutes les fonctions de mes .h et .c sans les modifier ? Ou alors, je dois recopier à la main tous les prototypes et définition des fonctions que je veux exporter dans les fichiers main.h et main.c pour y ajouter le DLL_EXPORT sans toucher aux sources ?

Merci

RV

L'intelligence est la chose la mieux répartie chez l'homme, car quoi qu'il en soit pourvu, il a toujours l'impression d'en avoir assez. "Descartes"

lundi 20 octobre 2008 à 14:04:46 | Re : Création d'une librairie à partir des .c et .h

GurneyH

Salut,
   Pourquoi ne pas créer un librairie statique... Les dll, ne fonctionnent que pour windows, donc reste à savoir le but de ta bibliothèque... Si c'est une application portable, oublies les dll...
   Je ne connais pas bien code::blocks( je commence avec...) mais je pense que le principe pour créer une librairie statique est le même quel que soit l'IDE...
  Ton IDE doit te permettre de créer un projet static lib. Ensuite, tu vires ton main(...), tu compiles et tu doit normalement obtenir un fichier avec l'extension .a (.lib avec visual c++).
   Lorsque tu voudras utiliser ta librairie, penses à préciser:

       -le chemin de ta librairie au compilateur.
       -le chemin des includes de ta librairies.
       -à lier ta librairie à ton projet .

    Jusqu'à aujourd'hui je travaillais sous dev-cpp, mais je me penche sur code::blocks et visual c++ 2008 express.

    Je te donnerais la marche à suivre détaillée pour code::block bientôt, bien que j'imagine qu'il a y beaucoup de personne ici qui connaissant   l'IDE, vont te répondre...

a++

      








Cette discussion est classé dans : fichiers, exporter, création, main, librairie


Répondre à ce message

Sujets en rapport avec ce message

Je cherche une librairie [ par CyberP ] Je cherche la librairie qui correspond au fctions :- RasEnumConnections()- RasHangUp()Elles sont toutes les deux dans le fichier d'en-tête "ras.h"Car Création de fichiers .txt en C [ par v0naRx ] Bonjour,j'aurai besoin de créer des fichiers texte pour ffaire une petite base de donnée simple. Je travail avec C++ Builder 6 de Borland, en language Création de DLL [ par Lorelei42 ] Bonjour,J'ai un gros programme en C et on m'a demandé d'en faire 1 DLL. Lors de mes cours en programmation, on ne m'a jamais parlé de DLL. J'ai trouvé Création et suppression de dossier [ par asmanur ] Bonjour,alors j'ai quelque question à poser sur les fichiers1) Comment crée-t-on un dossier?2)Comment supprime-t-on des fichiers et des dossiers3)Sous partage de variable entre plusieurs fichiers [ par Spiffou ] salut à tous,j'ai un ptit pb sur vc6:j'ai un prog comportant plusieurs fichiers:main.cpp // code du mainfonction.cpp // code des fonc Plusieurs fichiers sources [ par nisaloncaje ] ReBonjour, dans mon projet, je dispose d'un fichier main.cpp qui contient la fonction main et les déclarations de classe.Je pensais mettre, dans un fi Exporter une classe dans une librairie statique [ par nightlord666 ] Bonjour !Je vient de commencer la programmation en C++ sous Linux, et je suis confronté à un problème. J'aimerais exporter une classe C++ dans une lib connaitre la date de création d'un fichier [ par LaTatadu91 ] Bonjour,Toujours dans un projet concernant des fichiers de trace, je souhaiterai purger mon repertoire. afin de faire cela il me faudrait connaitre 2/ [ C++ ] Création et utilisation de fichiers DLL [ par faico ] Salam Je voudrais savoire comment créer et utiliser un fichier dll dans mon programme C++ ? Et comment je peux connaitre les fonction existantes dans probleme avec string [ par slyfer07 ] Bonjour tout le monde,je débute en C++ et je suis en train de réaliser mon premier projet (j'utilise DevC++). Celui-ci comprend mon main.cpp, ainsi qu


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,468 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.