Creation librairie code block [Résolu]

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

3 réponses

Répondre au sujet
cptpingu 3771 Messages postés dimanche 12 décembre 2004Date d'inscription 7 janvier 2018 Dernière intervention - 19 mai 2009 à 10:31
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cptpingu
cptpingu 3771 Messages postés dimanche 12 décembre 2004Date d'inscription 7 janvier 2018 Dernière intervention - 18 mai 2009 à 19:20
0
Utile
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 11 Messages postés mardi 17 mars 2009Date d'inscription 23 octobre 2009 Dernière intervention - 19 mai 2009 à 10:23
0
Utile
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.