Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2919 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Comment faire pour integrer une dll dans son .exe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment faire pour integrer une dll dans son .exe

n°364172
alexboss
Posté le 17-04-2003 à 03:43:10  profilanswer
 

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
 
 
 

mood
Publicité
Posté le 17-04-2003 à 03:43:10  profilanswer
 

n°364178
iS@mi
Resistance is futile !
Posté le 17-04-2003 à 06:29:58  profilanswer
 

Alexboss a écrit :

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
 


 
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.

n°364185
HelloWorld
Salut tout le monde!
Posté le 17-04-2003 à 07:23:33  profilanswer
 

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 ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°364205
iS@mi
Resistance is futile !
Posté le 17-04-2003 à 08:16:52  profilanswer
 

HelloWorld a écrit :

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 ?


 
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 :
  1. Function GetApiVersion(var Major:Integer; var Minor:Integer):Integer; external 'gttreg.dll';


 
Moi dans mon projet, j'ai déclaré de cette façon :
 

Code :
  1. extern "C" int GetApiVersion(int Major, int Minor);


 
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)


Message édité par iS@mi le 17-04-2003 à 08:18:31
n°364213
HelloWorld
Salut tout le monde!
Posté le 17-04-2003 à 08:32:21  profilanswer
 

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 ...)


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°364215
HelloWorld
Salut tout le monde!
Posté le 17-04-2003 à 08:34:19  profilanswer
 

Ton erreur est qu'il trouve 2 fois la fonction ... t'as pas oublié un extern "C" pour IsValidUser ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°364224
iS@mi
Resistance is futile !
Posté le 17-04-2003 à 08:41:46  profilanswer
 

HelloWorld a écrit :

Ton erreur est qu'il trouve 2 fois la fonction ... t'as pas oublié un extern "C" pour IsValidUser ?


 
 

Code :
  1. #if !defined(D2L_GTTREG_SUPP_H__7B8D784B_7F1A_3B92_2082_5433415D4FD3__INCLUDED_)
  2. #define D2L_GTTREG_SUPP_H__7B8D784B_7F1A_3B92_2082_5433415D4FD3__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. #pragma comment(lib, "gttreg.lib" )
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif
  10. #include <windows.h>
  11. WINBASEAPI int WINAPI GetApiVersion(int Major, int Minor); 
  12. BOOL WINAPI GTTREG_DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved);
  13. #ifdef __cplusplus
  14. }
  15. #endif
  16. #endif // !defined(D2L_GTTREG_SUPP_H__7B8D784B_7F1A_3B92_2082_5433415D4FD3__INCLUDED_)


 
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
 

n°365693
HelloWorld
Salut tout le monde!
Posté le 17-04-2003 à 21:40:50  profilanswer
 

Ca doit etre une histoire de nommage de fonction ...
Mais désolé je patoge un peu :(


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Comment faire pour integrer une dll dans son .exe

 

Sujets relatifs
[Script] Quel script intégrer dans un moteur 3D?[Applet] Intégrer un browser
possible d'integrer un embed avec des bbcodes ?Integrer une page HTML dans une autre ? [RESOLU]
Qui peut me dire comment intégrer cette variable ds le code ?[VC++ WIN32 pas MFC] comment integrer le controle IWebBrowser2
Integrer de l'OpenGL dans les MFCRecherche module d'actualité a integrer dans mon menu
Intégrer un browser a Access ?Comment intégrer un flux de vidéo ds un environnement java?
Plus de sujets relatifs à : Comment faire pour integrer une dll dans son .exe


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)