Narzędzie wiersza poleceń do znalezienia współzależności Dll

głosy
17

Które polecenie Narzędzia wiersza istnieją rekurencyjnie znaleźć wszystkie zależności DLL? Próbowałem DUMPBIN i Dependency Walker (aka Depends.exe), które pochodzą z Visual Studio, ale DUMPBIN tylko znajdzie pierwszy stopień zależności, a wyjście z Dependency Walker nie jest bardzo przyjazny komputer.

Utwórz 09/12/2008 o 15:43
źródło użytkownik
W innych językach...                            


3 odpowiedzi

głosy
14

Spróbuj /oc:FILENAMEopcji zależy, aby zapisać plik wartości oddzielonych przecinkami. To wygląda jak jest to łatwiejsze do analizowania przez maszynę niż „free-form” pliku tekstowego wygenerowanego przez / OT: nazwa / opcja.

Odpowiedział 09/12/2008 o 15:51
źródło użytkownik

głosy
8

Dependency Walker ma wiele opcji, w tym wyjście do pliku opcji. Jednym z nich jest /oc:<path>, który zapisuje dane wyjściowe do pliku CSV , który jest łatwo przetwarzane przez inne narzędzia lub nawet tylko importowane do arkusza kalkulacyjnego.

W zależności od tego, co trzeba zależności gdyż może faktycznie mają narzędzi cross-platform, aby to zrobić - na przykład CMake fixup-pakiet , który może skopiować wszystkie wykryte zależności non-system do lokalizacji docelowego (wykonywalnego lub dzielone biblioteki) nawet w systemie Windows. Dokumentacja nie jasno wytłumaczyć, ale używam go w tym celu w projekcie cross-platformowej na chwilę teraz.

Odpowiedział 09/12/2008 o 15:45
źródło użytkownik

głosy
2

Korzystanie z /oc:<path>opcji Dependency Walker daje pliku CSV , który jest łatwo analizowany. Jeśli chcesz także ścieżki do bibliotek trzeba także użyć -f 1opcji. Może chcesz to zrobić, jeśli chcesz skopiować biblioteki (np dokonać podziałowi wersję pliku wykonywalnego).

Niestety w wyjściu z Depends.exe ścieżek do bibliotek są konwertowane na małe litery, a nazwa DLL jest konwertowane na wielkie litery. Na przykład,

c: \ qtsdk \ Pulpit \ qt \ 4.7.4 \ MinGW \ bin \ QTCORE4.DLL

Gdy biblioteka jest rzeczywiście znajduje się pod adresem:

C: \ QtSDK \ Pulpit \ Qt \ 4.7.4 \ MinGW \ bin \ QtCore4.dll

Nie wydaje się być sposobem na uzyskanie Depends.exe zgłosić ścieżki poprawnie który jest wstyd.

Odpowiedział 06/06/2013 o 04:33
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more