Creation librairie code block [Résolu]

bumbob
Messages postés
11
Date d'inscription
mardi 17 mars 2009
Dernière intervention
23 octobre 2009
- 18 mai 2009 à 19:00 - Dernière réponse : cptpingu
Messages postés
3829
Date d'inscription
dimanche 12 décembre 2004
Dernière intervention
5 novembre 2018
- 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.
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
cptpingu
Messages postés
3829
Date d'inscription
dimanche 12 décembre 2004
Dernière intervention
5 novembre 2018
- 19 mai 2009 à 10:31
3
Merci
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.

Merci cptpingu 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de cptpingu
cptpingu
Messages postés
3829
Date d'inscription
dimanche 12 décembre 2004
Dernière intervention
5 novembre 2018
- 18 mai 2009 à 19:20
0
Merci
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.
Commenter la réponse de cptpingu
bumbob
Messages postés
11
Date d'inscription
mardi 17 mars 2009
Dernière intervention
23 octobre 2009
- 19 mai 2009 à 10:23
0
Merci
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.
Commenter la réponse de bumbob

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.