Dependency Walker: dll-uri lipsă (Programare, Windows, Dll, Visual Studio 2013, Dependențe, Dependency Walker)

Ben N. a intrebat.

Am încercat să rezolv dependențele .dll pentru fișierul executabil cu Dependency Walker. În prezent, primesc .dll-uri lipsă în următoarea formă:

API-MS-WIN-XXX

EXT-MS-WIN-XXX

De exemplu:

API-MS-WIN-APPMODEL-IDENTITY-L1-2-0.DLL
API-MS-WIN-APPMODEL-RUNTIME-INTERNAL-L1-1-0.DLL
API-MS-WIN-BASE-UTIL-L1-1-0.DLL
API-MS-WIN-CORE-APIQUERY-L1-1-0.DLL
EXT-MS-WIN-RTCORE-NTUSER-SYSCOLORS-L1-1-0.DLL

Are cineva vreo idee despre cum să rezolve aceste probleme?Orice ajutor va fi foarte apreciat!

Informații suplimentare: Am compilat executabilul folosind Visual Studio 2013. Cel mai interesant lucru este că nu am primit nici o eroare în timpul compilării. Cu toate acestea, nu îl pot rula din cauza dependențelor lipsă. Am atașat, de asemenea, o captură de ecran a dependency walker:

Actualizare 1: Ca o încercare de a rezolva problema, am încercat să adaug calea pentru bibliotecile pe care VS le-a folosit în timpul compilării în fișierul $PATH variabila de mediu, fără niciun noroc (Dependency Walker arată în continuare dependențe nerezolvate).

Comentarii

  • Ce compilator sau IDE folosiți? –  > Por kizeloo.
  • @kizeloo Mulțumesc foarte mult pentru răspuns! Eu folosesc Visual Studio 2013. –  > Por Ben N..
4 răspunsuri
Ofek Shilon

Acestea sunt seturi API – în esență, un nivel suplimentar de indirectionare a apelurilor introdus treptat începând cu Windows 7. Dezvoltarea Dependency walker se pare că s-a oprit cu mult înainte de asta, și nu poate gestiona corect seturile API.

Așadar, toate acestea sunt alarme false și nu trebuie să vă faceți griji. Nu vă lipsește nimic.

De asemenea, consultați Despre API-MS-WIN-XXXXX.DLL și alte defecțiuni ale Dependency Walker.


Edit: Abia în octombrie 2017 cineva a încercat în sfârșit să umple această lacună. Faceți cunoștință cu Dependencies by lucasg. Până acum m-am jucat doar pe scurt cu el, dar se descurcă bine cu seturile API și este cel puțin foarte demn de atenție.

Comentarii

  • Informații excelente! :-). Dar nu ar fi vorba de „false pozitive” în loc de „false negative”? Doar nitpicking, aceasta a fost cea mai bună informație nouă de astăzi pentru mine. Aștept cu nerăbdare să testez Dependencies. Mulțumesc! –  > Por Stein Åsmul.
  • Ei bine, încerc să rezolv o problemă atunci când biblioteca mea nu se încarcă (LoadLibrary). Nu reușesc să-mi dau seama de ce. Iar unele dintre aceste fișiere menționate nici măcar nu sunt pe sistemul meu. Este încă un fals pozitiv? –  > Por Martin Kosicky.
  • @MartinKosicky fișierele menționate nici măcar nu sunt fișiere. Ele sunt „markeri virtuali” pentru încărcătorul Windows – și nu ar trebui să existe pe disc. Așadar, cu siguranță nu aceasta este problema dvs.  > Por Ofek Shilon.
  • Într-adevăr, Dependencies by lucasg a eliminat falsele „pachete lipsă” și a dezvăluit că (în cazul meu) se aștepta la o versiune diferită de Python. –  > Por Josiah Yoder.
  • Ca cineva care citește prea repede uneori, ar putea fi util să mutați comentariul despre Dependencies în primul paragraf. „… nu poate gestiona corect seturile API. Este posibil să doriți să încercați Dependencies by lucasg o aplicație de dependențe mai nouă care ar trebui să le gestioneze în mod corespunzător” – –  > Por Jimbo.
Tae-Sung Shin

În plus față de ceea ce a spus @Ofek Shilon, de obicei ignor următoarele dll-uri pe care dependency_walker le-a identificat ca fiind lipsă atunci când încerc să găsesc dll-uri lipsă pentru programul meu. Veți vedea că programul dvs. rulează bine atunci când dependency_walker spune că aceste dll-uri lipsesc.

  • API-MS-WIN-*.dll
  • EXT-MS-WIN-*.dll
  • IESHIMS.dll
  • EMCLIENT.dll
  • DEVICELOCKHELPERS.dll

Puteți căuta alte dll-uri decât cele de mai sus pentru a vă rezolva problema.

botheredbybees

De asemenea, ignor și eu:

  • EFSCORE.DLL
  • WPAXHOLDER.DLL

kuzavas

Dependențe m-a ajutat să găsesc un DLL lipsă în cel mai scurt timp. Este open source și este disponibil aici: https://github.com/lucasg/Dependencies

Comentarii

  • acest lucru a fost deja adăugat la răspunsul inițial –  > Por magicandre1981.
  • Și, de asemenea, în răspunsul lui @Steji (șters). –  > Por CristiFati.