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

  FORUM HardWare.fr
  Programmation
  C++

  [C++] Compilation et link de librairie statique avec une DLL (VC++)?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] Compilation et link de librairie statique avec une DLL (VC++)?

n°817969
xyz75
Posté le 09-08-2004 à 12:44:10  profilanswer
 

Bonjour,
 
Mon workspace est composé de 2 projets :
- un qui génère un .lib, et qui utilise lui-meme "Api.lib" et "share.lib" (j'ai pas accès au code de ces 2 dernieres lib)
- l'autre qui génère une DLL et qui utilise le .lib précédent
 
1/ Quand je compile, lors du link du .lib, j'ai le message suivant :
"Api.lib(Api.dll) : warning LNK4006 : __NULL_IMPORT_DESCRIPTOR already defined in share.lib(share.dll); second definition ignored"
 
J'ai bien vérifié que mes 2 projets sont des Multithreaded DLL, comme indiqué par les quelques conseils que j'ai trouvés sur le Net. Mais ca ne change rien.
 
Que faut-il faire pour ne plus avoir ce message ?
 
2/ Pourquoi mon 1er projet est systématiquement recompilé quand je ne modifie qu'un fichier du 2è projet ?


Message édité par xyz75 le 09-08-2004 à 14:49:12
mood
Publicité
Posté le 09-08-2004 à 12:44:10  profilanswer
 

n°818185
HelloWorld
Salut tout le monde!
Posté le 09-08-2004 à 15:51:51  profilanswer
 

1/ __NULL_IMPORT_DESCRIPTOR est présent dans chaque .lib et marque la fin de la liste d'import. Tu as ce message parce que tu crées un .lib qui fusionne share.lib et api.lib, donc ce symbole est présent 2 fois. La solution est simple, et accélèrera qui plus est l'édition de liens : supprime share.lib et api.lib de ton projet lib statique. En les mettant, tu provoques leur recopie dans ton nouveau .lib. Tu n'a d'ailleurs peut être plus besoin de api.lib et share.lib si tu link avec ton .lib. Vérifie : ton .lib doit au moins avoir la taille de api + share.lib réunis. Ces 2 .lib n'ont rien à faire dans ton projet statique, déplace les dans ton projet dll. Quand on crée une lib statique, normalement, on ne spécifie aucun .lib au linkage.
2/ Peut être y-a-t-il un problème dans les dépendances. Fait clic droit sur ton projet -> "Dépendances du projet..." et marque ta dll comme dépendante du projet .lib.


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

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

  [C++] Compilation et link de librairie statique avec une DLL (VC++)?

 

Sujets relatifs
[Résolu à 50%]Librairie MIDI multiplateformecompilation
[C++] Plantage d'une dll [résolu][DLL] Laison dynamique d'une dll de classe
[Résolu] [ASPX] Compilation en ligne de commande et Crystal Reports[java][c]chargement d'une librairie .so
Socket dans une dll[VB][ADO] Erreur Data Link
probleme a la compilation sous VC++ .NETvisual 6 c++ : problem de compilation avec platform SDK pour WMI
Plus de sujets relatifs à : [C++] Compilation et link de librairie statique avec une DLL (VC++)?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR