cs_marco900
Messages postés6Date d'inscriptionlundi 13 juin 2005StatutMembreDernière intervention29 janvier 2009
-
28 janv. 2009 à 16:02
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 2014
-
29 janv. 2009 à 21:25
Bonjour à tous!!!!
Voici mon premier message...Voila, j'utilise borland C++ builder 6. J'ai un projet réalisé avec l'aide de la librairie FreeImage. Je n'arrive pas à rendre mon exécutable autonome. J'ai pourtant bien décoché "utiliser la RTL dynamique" et "construire avec les paquets d'exécution" .
Lorsque je déplace et exécute mon exe ailleur que dans le répertoire de mon projet, un message m'affiche "cette application n'a pas pu démarrer car FREEIMAGE.DLL est introuvable. La réinstallation de cette application peut corriger ce problème".
Pouvez-vous m'aider s'il vous plait?
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 29 janv. 2009 à 21:25
Je n'utilise pas Borland mais le principe est le même. Avec le Bloc-notes, créer un fichier en l'enregistrant avec l'extension .rc. Son contenu ressemblera à ceci:
ID_DLL BINARY "nomdll.dll"
Il sera ensuite inclu à ton projet.
Les fonctions FindResource() et LoadResource() seront utilisées dans le code pour charger la resource et les fonctions CreateFile() et WriteFile() pour la copier dans le dossier de l'exécutable. Tu peux regarder parmi mes sources mon Lecteur d'animations Flash comme exemple. Les fonctions peuvent être chargées dynamiquement pour éviter d'utiliser le .Lib.
cs_marco900
Messages postés6Date d'inscriptionlundi 13 juin 2005StatutMembreDernière intervention29 janvier 2009 28 janv. 2009 à 16:55
Merci pour ta réponse JejeLand
Le truc c'est que j'aimerai trimbaler seulement mon exe...Je ne veux pas qu'il dépende de la dll... J'ai essayé de convertir un .dll en .lib : erreur de linkage (COFF et OMF), j'ai essayé le log de borland coff2omf pour convertir coff en omf mais ca ne marche pas non plus...
Je veux juste filer mon .exe a quelqu'un qui n'a pas borland, pas mon .exe et mon .dll
------------------------------------------------------------------------------------- Si vous arrivez à arrêter de fumer, boire & faire l'amour, vous ne
vivrez pas plus vieux ; ça vous semblera juste plus long...
-------------------------------------------------------------------------------------
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 29 janv. 2009 à 12:55
Salut,
Je ne savais pas que faire l'amour était mauvais pour la santé. Cela dit ça explique peut être que je suis plutôt en bonne santé.
Il est à peu près impossible de réunir un .exe et sa .dll dans un même .exe, et de faire tourner le tout sans recréer la dll sur l'ordinateur cible.
Ce qui se fait bien par contre, c'est un insalleur. Ca te fait un .exe qui installe proprement l'application et ses dépendances sur le PC cible. Je te conseille vivement Inno Setup, gratuit et génial.
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 29 janv. 2009 à 20:11
Salut,
Il est également possible de mettre la DLL comme ressource binaire dans l'exécutable. Si, une fois lancé, ce dernier ne trouve pas la dll, il la copie depuis la ressource vers le dossier de l'exécutable.
cs_marco900
Messages postés6Date d'inscriptionlundi 13 juin 2005StatutMembreDernière intervention29 janvier 2009 29 janv. 2009 à 21:04
Bonjour à tous
[auteur/RT15/464943.aspx rt15], j'ai déjà essayé cette solution mais je n'arrive pas à compiler la librairie, je pense qu'il manque des choses à l'intérieur....Mais je suis quand même passé de 1500 a 700 erreurs...Du progrès
[auteur/RACPP/295159.aspx racpp] comment fais tu pour mettre la dll comme ressource binaire sous bourland C++ beer 6?
A bientôt
------------------------------------------------------------------------------------- Si vous arrivez à arrêter de fumer, boire & faire l'amour, vous ne
vivrez pas plus vieux;Ca vous semblera juste plus long