[dll/C++] link

link [dll/C++] - Programmation

Marsh Posté le 10-09-2001 à 09:15:14    

mon pb du jour :
j'ai une dll A (+ les .h et les .lib) qui definit des fonctions
j'ai créé une dll B qui definit des fonctions utilisant celles de A
qd je link le programme avec la dll B il me faut la dll A ds le path...
j'aimerais que la dll A soit "englobé" ds la dll B pour eviter cette dependance
comment faire ? (c sous vc++ 6 tout ca)
 
merci  :hello:

Reply

Marsh Posté le 10-09-2001 à 09:15:14   

Reply

Marsh Posté le 10-09-2001 à 09:32:14    

A ma connaissance on ne peut pas rassember 2 dll en une seule.
Par contre tu peux utiliser LoadLibrary qui permet de charger un dll en specifiant le chemin.

Reply

Marsh Posté le 10-09-2001 à 09:42:00    

et avec une librairie statique ca marche comment ?
(avec A j'ai aussi des .lib statiques apparemment)

Reply

Marsh Posté le 10-09-2001 à 09:59:04    

Si tu as la lib statique de la dll A alors tu l'inclus dans la dll B et tu n'as plus besoin de la dll A pour faite marcher ton prog.

Reply

Marsh Posté le 10-09-2001 à 12:01:08    

Citation :

Si tu as la lib statique de la dll A alors tu l'inclus dans la dll B et tu n'as plus besoin de la dll A pour faite marcher ton prog


 
 
Heuh non. La pour le coup avec le .lib je pense qu il fait reference a la lib cree par visual quand tu fais une DLL qui exporte des symboles.  
 
Cette lib t evite juste d avoir a faire toi meme des LoadLibrary & cie, mais t aura tjs besoin de l'autre DLL  (la A) pour que ca tourne.
 
Voila sinon tu refais un projet "static library", tu remets tes sources dedans et dans ta DLL B la tu met la lib ainsi cree  
 
Evidemment, ce faisant tu perds les avantages de la DLL (necessite de relinker tout les programmes utilisant ta lib si tu la modifies...)
 
++
 
chris

Reply

Marsh Posté le 10-09-2001 à 16:34:32    

si tu veux faire du static il te faut effectivement une librairies faite pour ca.
 
genre toto_static.lib au lieu de toto_dynamic.lib (qui a besoin de la DLL)
 
sinon tu peux peut-être mettre la première DLL dans le .rc de ta DLL et bidouiller pour l'écrire sur le disque temporairement (si vraiment t'as pas le choix).
 
enfin bon, pkoi tu veux pas utiliser la DLL qu'on t'as filé comme c'est ?


---------------
Tout n'est pas si facile, tout ne tient qu'à un fil.
Reply

Marsh Posté le 10-09-2001 à 16:36:59    

chrisbk a écrit a écrit :

Citation :

Si tu as la lib statique de la dll A alors tu l'inclus dans la dll B et tu n'as plus besoin de la dll A pour faite marcher ton prog


 
 
Heuh non. La pour le coup avec le .lib je pense qu il fait reference a la lib cree par visual quand tu fais une DLL qui exporte des symboles. ++
 
chris  




 
il a dit kil a aussi la lib statique

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed