Creation librairie code block [Résolu]

Signaler
Messages postés
11
Date d'inscription
mardi 17 mars 2009
Statut
Membre
Dernière intervention
23 octobre 2009
-
Messages postés
3819
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
28 septembre 2020
-
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

Messages postés
3819
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
28 septembre 2020
113
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.
Messages postés
3819
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
28 septembre 2020
113
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.
Messages postés
11
Date d'inscription
mardi 17 mars 2009
Statut
Membre
Dernière intervention
23 octobre 2009

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.