Creation librairie code block

Résolu
bumbob Messages postés 11 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 23 octobre 2009 - 18 mai 2009 à 19:00
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 - 19 mai 2009 à 10:31
Bonsoior,

je travaille sous win XP et je viens d'installer code block en suivant scrupuleusement les indication données par le site du zero : http://www.siteduzero.com/tutoriel-3-2732-telechargez-et-installez-les-nightly-builds-de-code-blocks.html qui me semblent être bonnes.
Je desire maintenant créer une librairie dont j'ai reccupéré le code source.
J'arrive a compiler, le debugger me donne 0 warning, 0 erreur.
Lorsque je souhaite lancer le "run", le message d'erreur suivant apparait : you must select a host application to run a librairy..
Qu'est ce que cette "host application"? Que dois je faire ?

Merci a tous.

3 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
19 mai 2009 à 10:31
Tu as deux type de bibliothèque:
- Les bibliothèques dynamiques (*.dll, *.so):
Externe au programme, elles sont réutilisables par plusieurs programmes. Par exemple, il y a de forte chance que ton programme fasse appel aux dll de windows, même si tu ne lui as pas demandé explicitement (heureusement d'ailleurs).

- Les bibliothèques statiques (*.lib, *.a):
Ce sont des bibliothèques qui sont vouées à être incorporé à l'intérieure de ton exécutable, comme le serait des fichiers objets. Dans ce cas, la bibliothèque à juste un rôle d'archivage/regroupement de fichiers objets.

Pour faire fonctionner ton programme, tu dois:
- Créer un nouveau projet
- Lui dire qu'il a besoin d'une bibliothèque statique pour fonctionner (il doit y avoir une option pour cela)
- Laisse ton main, mais si tu ajoutes des fonctions contenues dans la bibliothèque statique, alors tu devras ajouter les fichiers header correspondants.
- En compilant, tu auras un exécutable indépendant.
3
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
18 mai 2009 à 19:20
Tout d'abord, c'est bibliothèque ! et non librairie qui est une erreur de traduction de "library". Librairie en anglais se dirait "bookstore".

Ensuite, lorsque tu crée une bibliothèque, tu crées un réservoir à fonctions et/ou à classes qui peuvent être réutilisés dans plusieurs programmes. Mais ce n'est PAS un programme. (Tu as du remarquer après la compilation réussi, la présence d'un nouveau fichier qui finit par .dll)

Donc soit tu crée un vrai programme, soit tu crée un programme qui se sert de la dite bibliothèque.
0
bumbob Messages postés 11 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 23 octobre 2009
19 mai 2009 à 10:23
Merci pour cette réponse.

je dois créer un programme qui se sert des fonctions et classes contenues dans cette bibliothèque.
Après compilation réussie, je n'obtient poas de fichier .dll, mais un fichier .a .
J'ai du me planter en compilant mon fichier.
Pour cela, j'ai créer un nouveau projet, j'efface ce que contient le main et je le remplace par le contenu d'un fichier "construct.c" de ma bibliothéque.
Ce fichier fait appel a des fichier.h contenus dans un autre dossier. LE fait de les ouvrir dans ledit projet ne semble pas suffire à ce qu'il les prenne en compte.
Comment dois je procéder ?

Merci.
0
Rejoignez-nous