2010-05-09 13 views
0

La bibliothèque partagée me cause beaucoup de problèmes, et l'espace disque est beaucoup moins cher que le problème lui-même. Comment puis-je convertir toutes les bibliothèques partagées (.dll) en bibliothèques statiques (.lib) et faire en sorte que mon programme les utilise au lieu d'utiliser des bibliothèques partagées?Comment modifier toutes les bibliothèques partagées utilisées dans mon programme en bibliothèques statiques dans Windows?

Note certains .dll ne sont pas directement référés par mon programme, par ex. mon programme nécessite libpng, et libpng requiert zlib.dll.

Existe-t-il une solution qui résume tous ces cas?

+1

Comme mentionné ci-dessous, il n'y a pas de solution simple sauf si vous trouvez des bibliothèques statiques ou recompilez la source. Si vous ne pouvez pas faire cela, il existe des techniques pour traiter certains problèmes de DLL; Si vous êtes intéressé, commencez un autre sujet avec les problèmes particuliers que vous voulez éliminer. – jdigital

Répondre

0

Vous ne pouvez pas convertir une bibliothèque partagée (dll) en une bibliothèque statique (lib). La DLL contient des en-têtes, des exportations, et des choses qui le rendent complètement impossible à faire.

Si vous avez accès à la source, vous pouvez généralement la recompiler en tant que bibliothèque statique. Sinon, vous devrez mettre la main sur la bibliothèque statique vous-même.

0

Il n'existe aucun moyen pratique de convertir des DLL en bibliothèques statiques. Vous aurez besoin de trouver les bibliothèques statiques réelles, ou vous aurez besoin de les construire à partir de la source.

Questions connexes