Reutiliser une dll

conan76 Messages postés 32 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 9 décembre 2013 - 2 déc. 2003 à 15:19
conan76 Messages postés 32 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 9 décembre 2013 - 3 déc. 2003 à 11:19
Bonjour,

Voilà, j'ai compilé le code source "libpng" afin d'en faire une dll pour pouvoir l'utiliser dans un projet.
N'ayant pas l'habitude d'incorporer des dll dans des projets, je me retrouve un peu coincé.

Je suis sous Visual C++ 6.0
ce que j'ai fais pour ajouter la dll à mon projet est :
Fichier/ouvrir, et j'ai selectionner la dll.

- Est-ce vraiment comme ca que je dois procéder ?
- Puis-je voir d'une manière toute les fonctions que je peux utilisé de cette dll ?
- Au final si je dois executé mon projet .exe sur une autre machine, la dll dois se trouver avec lui dans le même repertoire ?

Je vous remercie de votre aide.

6 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
2 déc. 2003 à 15:28
Tu compiles une dll, tu dois obtenir un nomDll.lib, faut le mettre dans ton projet. Faut aussi un nomDll.h qui annonce les fonctions de ta dll. Tu peux incorporer ainsi le lib dans le h pour le linker:
#pragma comment(lib, "nomLib.lib")

BruNews, ciao...
0
hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 2
2 déc. 2003 à 15:49
Sinon, tu peux aussi utiliser LoadLibrary("nom.dll") et mapper les méthodes pour les utiliser dans ton code
0
conan76 Messages postés 32 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 9 décembre 2013
2 déc. 2003 à 16:04
Ok,

Quel est la méthode qui est la plus approprié ?
en rapidité pour la compil est autre.

sinon nicolas, que veux-tu dire pas mapper les méthodes ?

Merci de votre aide.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
2 déc. 2003 à 16:18
Le + simple reste h et lib.
BruNews, ciao...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 2
2 déc. 2003 à 17:17
Effectivement la méthode du .h et du .lib est la plus simple, le loadlibrary te permet d'éviter de faire une édition de lien avec le .lib (on l'a pas toujours).

La syntaxe est assez lourde, mais pas tres difficile, en fait, tu utilises un pointeur de fonction et tu n'appelles pas la fonction directement, ce qui fait que tu as pas besoin du lib pour l'édition de lien et tu charges donc la dll en mémoire et utilise donc un pointeur vers ces fonctions en mémoire.

Si tu as besoin de la syntaxe, je te la donnerai
0
conan76 Messages postés 32 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 9 décembre 2013
3 déc. 2003 à 11:19
Salut !

j'ai regarder le résultat de ma compil, oui, j'ai bien dans le repertoire avec la dll le .lib
mais pour le .h non, car le code source posséde plusieurs fichiers, le source que j'ai récupérer vient de ce site :

http://www.libpng.org/pub/png/libpng.html

et donc j'y est compilé les sources.

Nota : si jamais tu veux tenter de compilé, j'ai du faire des modifs avec le zlib car les fichiers incorporés dans le projet libpng faisait référence à une ancienne version de zlib dont certains fichiers n'existe plus.

Merci de ton aide !

Je maitrise plus .net, et comme mon Pc qui a .net attends le retour de sa carte graphique (SAV) je me retrouve obliger à passer sur du visual C++ 6 sous un W98.
0
Rejoignez-nous