Page 1 sur 1
Librairies dans les Libraires
Publié : dim. 12/févr./2006 18:56
par LeCyb
Imaginons que je fasse une librairie avec mes petites fonctions utiles que j'appellerai LibPerso.
Si je fais une librairie que je veux distribuer (disons LibPublic) qui utilise des fonctions de LibPerso, je suppose qu'il faut absolument donner les deux librairies ?
Si c'est le cas, y'a pas un moyen simple pour distribuer LibPublic sans devoir donner LibPerso ?
L'astuce c'est que j'ai pas mal de librairies perso et que j'utilise mes fonctions un peu partout et cela serait assez contraignant de les donner toutes ou de copier toutes les fonctions que j'utilise dans LibPublic.
Je vais illustrer par un petit exemple:
Je veux faire une lib FTP qui va utiliser des fonctions des librairies suivantes:
- MaLibNetwork (perso)
- MaLibError (perso)
- MaLibStructures (perso)
- MaLibDivers (perso)
- LaLibDroopy
- LaLibdeFred
Si j'utilise une ou deux fonctions de chaque librairie c'est super lourd d'aller les chercher, de copier le code (impossible pour les librairies des autres), d'enlever les lib perso, de tester et distribuer.
D'autant plus que pour chaque modification de la lib FTP je suis obligé de virer les lib pour faire du debug.
Publié : dim. 12/févr./2006 19:13
par Chris
A mon avis, si tu donnes le code de LibPublic, il faut aussi que tu donnes soit le code des fonctions de LibPerso, soit le lien vers LibPerso, puisqu'il faut avoir les libs pour programmer avec.
Par contre, si tu ne donnes pas le code, je pense que LibPublic se comporte comme une application ou une dll, et les fonctions de LibPerso sont importées dans LibPublic.
C'est une supposition, mais le mieux, ce serait de faire un essai en créant une lib bidon avec une ou deux fonctions de tes libs perso, et ensuite, de l'essayer en retirant les libs perso du dossier.
Publié : dim. 12/févr./2006 19:36
par LeCyb
Après avoir testé, si LibPerso n'existe pas il n'est pas possible d'utiliser LibPublic.
Pour résoudre le problème faudrait p-ê avoir une option d'import, mais ça risque aussi de poser des soucis de doublons (?).
Je devrais suggérer la chose à qui à ton avis, Fred ou El_Choni ?
Publié : dim. 12/févr./2006 20:14
par Chris
LeCyb a écrit :Après avoir testé, si LibPerso n'existe pas il n'est pas possible d'utiliser LibPublic.
Pour résoudre le problème faudrait p-ê avoir une option d'import, mais ça risque aussi de poser des soucis de doublons (?).
Je devrais suggérer la chose à qui à ton avis, Fred ou El_Choni ?
T'as raison!
C'est un peu dommage d'être obligé d'avoir toutes les libs, surtout pour celles qui viennent de quelqu'un d'autre. Pas évident pour les mises à jour!
Publié : dim. 12/févr./2006 20:17
par LeCyb
Pour le moment la solution la plus adaptée que j'ai trouvé c'est de ne pas utiliser de librairie tierces (celles où y'a jamais le code source là) et de copier toutes les fonctions des LibPerso dans la LibPublic en les renommant (genre LibPerso_Fonction).
Publié : dim. 12/févr./2006 20:39
par Droopy
Je pense comme toi que c'est actuellement la seule solution
Publié : dim. 12/févr./2006 22:07
par gansta93
C'est domage, par exemple pour la fonction TB_DebugError(), ça veut dire que la personne qui va utiliser la lib est obligée d'avoir TailBite ou alors on doit distribuer la lib avec celle de El'Choni. Effectivement, ça remet bcp de choses en question.
Publié : mar. 14/févr./2006 0:09
par El_Choni
Tu n'as pas besoin de distribuer la lib TB_DebugError. Si ça ne marche pas, c'est un autre bug de TailBite (un autre, buffff!)
Bonjour,
Publié : mar. 14/févr./2006 0:27
par gansta93
Non non, je supause seulement puisque d'après les conclusions que l'on a eu, il faut distribuer les libs autres utilisées pour qu'une lib fonctionne correctement. Mais s'il n'y a pas besoin de distribuer TB_DebugError, alors pourquoi faut-il distribuer les autres?
Publié : mar. 14/févr./2006 0:50
par LeCyb
Coucou El_Choni
Je vais essayer de faire simple.
J'ai une librairie X que j'ai fait moi-même (et donc j'ai le code source).
J'ai une librairie Y que gangsta93 a fait (et je n'ai pas le code source).
Je fais une librairie Z qui utilise des procédures de X et Y.
Je veux donner la librairie Z à Fred.
Aujourd'hui si je veux faire cela je suis obligé de donner à Fred les 3 librairies.
Comment je peux faire pour ne donner qu'une seule librairie ?
Publié : mar. 14/févr./2006 1:18
par Chris
LeCyb a écrit :Coucou El_Choni
Je vais essayer de faire simple.
J'ai une librairie X que j'ai fait moi-même (et donc j'ai le code source).
J'ai une librairie Y que gangsta93 a fait (et je n'ai pas le code source).
Je fais une librairie Z qui utilise des procédures de X et Y.
Je veux donner la librairie Z à Fred.
Aujourd'hui si je veux faire cela je suis obligé de donner à Fred les 3 librairies.
Comment je peux faire pour ne donner qu'une seule librairie ?
Ben Fred, il a qu'à faire comme nous.
Il s'achete PureBasic parce que ça va pas si il n'a qu'une démo, il télécharge les libs, et c'est tout !
Non mais
