7
votes

LoadLibrary échoue avec code d'erreur 14001

J'utilise Visual C ++ 2008 Edition Express pour créer une DLL de ressource uniquement. Le problème que je suis confronté est de faire fonctionner l'application qui utilise la DLL Sur un autre ordinateur, outre les résultats des mines dans la fonction LoadLibrary () Échec du code d'erreur 14001.

Rechercher sur Internet Il semble être un problème de dépendance de l'ordinateur Exécution de l'application Manque de bibliothèques du package redistribuable Microsoft Visual C ++ 2008.

Ma première étape consistait à installer le dernier package redistribuable Microsoft Visual C ++ 2008 mais qui n'a pas résolu le problème.

aussi j'ai changé mon paramètre de projet afin que la DLL compile avec la liaison de CRT statique en supposant que De cette façon, je vais me débarrasser des dépendances.

Ces options semblent être les solutions de contournement des autres personnes ayant le même problème. Aucune idée dans laquelle la direction à regarder est très appréciée.

merci

=============================================== ===================================

Merci pour vos réponses.

Les deux dépendances Walker et l'observateur d'événements ont indiqué une configuration côte à côte. Problème Comme il manquait une bibliothèque de version de débogage de l'emballage redistribuable VC ++.

J'étais imprudent et j'ai compilé ma DLL en mode de débogage, recompilation en mode de libération résolva le problème.


1 commentaires

Je pense qu'il y a une option quelque part pour créer vraiment une DLL de ressources uniquement; par exemple. Il ne générera pas DLLMain et tirez dans MFC, ATL, CRT, etc. Essayez Linker / Advanced - Aucun point d'entrée


3 Réponses :


4
votes

Regardez dans l'eventViewer. Bonne chance Il y aura une erreur de côté de Windows Sidebyside expliquant quelle assemblée est manquante.
Probablement ce serait un runtime de CRT VC que vous devrez faire ensemble avec votre DLL.

(la redistribuabilité VC est disponible ici: http: // www.microsoft.com/download/fr/details.aspx?displaylang=fr&id=29 )


0 commentaires

7
votes

Essayez d'isoler la bibliothèque manquante par dépendance Walker:

http://www.dependencywalker.com/

Il suffit d'exécuter votre application sur le deuxième ordinateur avec cet outil, cela devrait vous dire quelle bibliothèque est manquante. Assurez-vous que vous installez la bonne version du paquet redistribuable Visual C ++ 2008; Il y en a deux, pour VS 2008 avec SP1 et sans aucune ...


0 commentaires

0
votes

J'ai eu les mêmes problèmes mais avec Visual Studio 2013; un ensemble de débogage de DLL qui nécessitait un manifeste. Dans mon cas, Microsoft.dtfw.dhl.Manifest et dbghelp.dll devait être ajouté au chemin du chemin (j'ai utilisé le répertoire Exe).


0 commentaires