Comment faire pour integrer une dll dans son .exe - C++ - Programmation
Marsh Posté le 17-04-2003 à 06:29:58
Alexboss a écrit : Bonjour, |
Salut, ca fait pas trop longtemps que je code sous Win, donc je ne suis pas sûr de te mettre sur le bon chemin mais l'une des solutions que j'ai trouvée est la suivante :
http://logitheque.zdnet.fr/logi/cg [...] pl?ID=9018
Pour le reste, linker la .lib dans les propriétés de ton projet.
Marsh Posté le 17-04-2003 à 07:23:33
Oui, il faut que tu trouves la lib statique correspondant à ta dll (qui elle est la lib dynamique).
Si tu l'as pas ben faut recourir à un soft comme t'as donné iS@mi.
Si t'as pas la lib statique et pas de sous pour le soft, tu peux te rabattres sur un installeur qui livre ton prog + la dll.
C'est quoi comme dll ?
Marsh Posté le 17-04-2003 à 08:16:52
HelloWorld a écrit : Oui, il faut que tu trouves la lib statique correspondant à ta dll (qui elle est la lib dynamique). |
Il y a quelques années, j'ai porté sur Mac une application PC qui utilisait plusieurs .dll écrites avec Delphi Borland.
Je suis en train d'essayer de m'amuser à importer une de ces .dll sous VC++ mais hélas je n'y parviens pas.
Je ne sais pas si tu sais m'aider ou si ce que je veux faire est possible ?
Voici le code dans borland :
Code :
|
Moi dans mon projet, j'ai déclaré de cette façon :
Code :
|
J'ai utilisé le petit programme "Dll To Bin" pour avoir le bin de ce dll.
Je l'ai importée dans le projet de cette façon
#pragma comment(lib, "gttreg.lib" )
Sinon, je suis obligé d'utiliser un lib pour ce que je veux faire (je m'en fou un peu que les fonctions soient ratachées à l'application en réalité ) ?
Voilà,
Merci
PS: l'erreur que j'ai est qu'il ne trouve pas le code de la fonction !!!
WinTournee error LNK2005: IsValidUser already defined in gttreg.lib(gttregimp.obj)
Marsh Posté le 17-04-2003 à 08:32:21
Normalement, avec les dll, y'a une histoire d'__export.
T'as essayé un truc du genre :
extern "C" WINBASEAPI int WINAPI GetApiVersion(int Major, int Minor);
ou DECLSPEC_IMPORT (un truc du genre ...)
Marsh Posté le 17-04-2003 à 08:34:19
Ton erreur est qu'il trouve 2 fois la fonction ... t'as pas oublié un extern "C" pour IsValidUser ?
Marsh Posté le 17-04-2003 à 08:41:46
HelloWorld a écrit : Ton erreur est qu'il trouve 2 fois la fonction ... t'as pas oublié un extern "C" pour IsValidUser ? |
Code :
|
C'est le header que m'a fait le petit soft de convertion.
Mais bon peut-être qu'il n'est pas possible d'importer une .dll faite sous Borland Pascal.
Ce qui est bizare c'est qu'il n'arrive pas à linker
WinTournee error LNK2019: unresolved external symbol __imp__GetApiVersion@8 referenced in function "protected: virtual int __thiscall CTourneesDlg::OnInitDialog(void)" (?OnInitDialog@CTourneesDlg@@MAEHXZ)
et qu'il me dit également
WinTournee fatal error LNK1120: 1 unresolved externals
Marsh Posté le 17-04-2003 à 21:40:50
Ca doit etre une histoire de nommage de fonction ...
Mais désolé je patoge un peu
Marsh Posté le 17-04-2003 à 03:43:10
Bonjour,
je code sous visual C++
j'ai actuellement un .exe et une dll
mais j'aimerai bien que ma dll et mon .exe soit combines ensemble en un seul et unique .exe
Quelqu'un saurait il comment faire ca?
Je vous remercie d'avance pour votre aide