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

  FORUM HardWare.fr
  Programmation
  C++

  [Résolu] Changement de .dll -> cannot load shared library

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] Changement de .dll -> cannot load shared library

n°2077341
oooook
Posté le 20-05-2011 à 12:35:32  profilanswer
 

Bonjour,
 
Débutant en création de .dll avec C++, je rencontre un fort étrange problème, je m'explique :
J'ai un programme exploitant des .dll déjà créées. L'une d'elle avait été mal compilée pour une raison que je ne connais pas, je l'ai donc recompilée correctement avec le make fourni par msys. Le Makefile a été généré par NetBeans. Toute la compilation se passe bien, la création de la .dll aussi, super.
Cependant, lorsque je change l'ancienne .dll avec la nouvelle, lors du lancement du programme, une nouvelle erreur apparait :

Code :
  1. SharedLibrary::load - Cannot load shared library


Par conséquent, le programme ne se lance pas, et je suis toujours coincé (avant il se lançait, mais une fonctionnalité ne fonctionnait pas)
Il semblerait que cette erreur ne soit pas fréquente vu que Google n'a pas été mon ami sur ce coup là... HFR fera t'il mieux ?
Merci d'avance pour votre aide !
 
PS : Et je m'excuse si ce message n'est pas posté dans au bon endroit, je savais pas trop où le mettre autrement...


Message édité par oooook le 24-05-2011 à 14:20:08
mood
Publicité
Posté le 20-05-2011 à 12:35:32  profilanswer
 

n°2077414
tpierron
Posté le 20-05-2011 à 16:26:32  profilanswer
 

Hmm, ta description est trop vague pour qu'on puisse répondre. Genre :

  • Ce message d'erreur qui l'affiche ? je dirais ton programme, qui semble utiliser un système de plugin via des DLL. Parce que si tu n'as pas accès aux sources, ça va être la merde à débugger.
  • Quelle est l'API que tu utilises pour charger ces DLL ? Win32 avec LoadLibrary() + GetProcAddress() ? Windows permet de retourner des messages d'erreur assez explicites, en tous les cas, plus que "Cannot load shared library".
  • Une erreur possible (et qui génère des messages d'erreur à coté de la plaque) viendrait d'un mauvais mix de msvcrt (voire carrément d'une version manquante), cela dit, si tu utilises le même environnement pour compiler toutes tes DLL, c'est peu probable.


Cela dit, c'est trop vague ta description. Une solution, vu que tu as les sources, serait aussi d'utiliser un débugger. Un peu hardcore si tu débutes cela dit...

n°2077872
oooook
Posté le 24-05-2011 à 14:19:42  profilanswer
 

Merci pour cette réponse, en fait j'ai réussi à m'en sortir avec NetBeans : en fait le makefile n'était pas complet car les paramètres rentrés pour le make étaient erronés (j'oubliais de mettre les .dll qui m'étaient fournis en source)
Bref, merci beaucoup quand même, les astuces que tu m'as donné ne sont pas perdues (surtout Win32 avec LoadLibrary() + GetProcAdress() ;)


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

  [Résolu] Changement de .dll -> cannot load shared library

 

Sujets relatifs
Image Lazy Load sur nouvelobs.com[VBA] Private object modules cannot be used in public object modules
Warning: Cannot modify header information - headers already sent by..changement d'email
[MySQL] LOAD DATA IN FILE problèmeChangement de dossier d'un site complet : quelles manip ?
[JS] multiples changement de classes sur un seul onmouseoverProblème lors du changement du format de l'URL sur Wordpress
Shared Memory Posix sur un MacWarning: session_start() [function.session-start]: Cannot send....
Plus de sujets relatifs à : [Résolu] Changement de .dll -> cannot load shared library


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