2013-06-18 17 views
11

Zbudowałem dll C++ do użycia z dot net. Po uruchomieniu progranu pojawia się błąd, nie można znaleźć biblioteki dll.dll brakujące zależności w plikach Windows 7

DLL tam - ale sprawdziłem go z Dependency Walker - i dostał za:

API-MS-WIN-CORE-COM-L1-1-0.DLL 
API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL 
API-MS-WIN-CORE-WINRT-L1-1-0.DLL 
API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL 
API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL 
API-MS-WIN-SHCORE-SCALING-L1-1-0.DLL 
DCOMP.DLL 

Error opening file. The system cannot find the file specified. 

Zrobiłem wyszukiwania - widocznie są to Win 7 złoży d mam Windows 7 - ale nie zrobił nie znajduj ich.

Co mogę zrobić?

Używam VS2010, Windows 7

+0

jest twoja biblioteka DLL wymagająca lub jest potrzebna przychodzi pośrednio? Jakiego importu brakuje? –

+0

Zakładam, że jest pośrednia. Dll zależy od Canon SDK. SDK, używany przez kod jako lib w C++, działa - ale mam problemy z biblioteką dll, którą stworzyłem, aby wyeksportować fnctionality do dot net. – Thalia

+8

Te pliki są rzeczywiście obecne, po prostu ich nie widać. Zależność Walker nie był utrzymywany od dłuższego czasu, może wykonać właściwą pracę już na nowoczesnych wersjach Windows. Użyj ProcMonSysInternals, zobaczysz go szukając DLL i nie znajdując go. –

Odpowiedz

10

Dependency Walker (stąd: http://www.dependencywalker.com/) stała się nieaktualna. Chociaż działa na win7/win8, nie wykrywa z nich normalnych plików DLL. Jeśli otworzysz zakładkę "około" najnowszej wersji 2.2.6000, zobaczysz, że została utworzona 29 października 2006 r. Yikes. Zaskakuje, że działa w ogóle.

Możesz pobrać narzędzie do monitorowania procesu w kilku lokalizacjach. Złapałem kopalnię stąd: https://technet.microsoft.com/en-us/sysinternals/bb896645

Kiedy już ją otrzymasz, możesz dodać filtr "nazwa programu jest", a następnie uruchomić program. Zobaczysz rzeczy, które ładują się i nie można załadować i takie. Wynik nie jest tak zwięzły, jak chcesz, ale gdy coś się nie powiedzie, pojawi się na liście.

+0

Dziękuję za odpowiedź, to technicznie już odpowiedział Hans Passant w swoim komentarzu. – Thalia

+1

Tak, ale nie można zamknąć pytania z komentarzem. Pomyślałem więc, że chciałbym poinformować społeczność, że próbowałem wpaść na ten sam problem, wypróbowałem komentarz, zadziałało, więc wysłałem odpowiedź, aby wyjaśnić, że komentarz był właściwy. – LawfulEvil

+0

Dumpbin jest również przydatny http://stackoverflow.com/a/28304716/1272428 – rluks

Powiązane problemy