2009-07-21 17 views
9

w moim projekcie, jeśli kompiluje projekt w wersji, prosi mnie o MSVCP90.dll.Nie znaleziono MSVCP90.dll?

jeśli jest debug, to nie ...

czy kiedykolwiek spotkał takiej sytuacji?

i czy wiesz, dlaczego ten plik .dll jest pożądany? lub jakiej konfiguracji sprawia, że ​​jest pożądany?

dzięki za wszelkie rady ..

+0

czy próbujesz dynamicznie linkować do zewnętrznego pliku dll – Bashar

Odpowiedz

14

uświadomiłem sobie, że już zainstalowany Microsoft Visual C++ 2008 Redistributable Pakiet, który właśnie naprawiłem, ale nie rozwiązał problemu.

Potem szukałem konfiguracji i zobaczyłem, że "Generuj manifest" to "Nie" w wersji, gdy w debugowaniu było "Tak".

więc zmieniłem i spróbowałem jeszcze raz, to zadziałało.

ja nie wiedziałem, że taka konfiguracja może wpływać tak, (a ja nie pamiętam, kiedy zmienił go)

anyway .. Dzięki dla innych odpowiedzi ...

+0

Możesz sprawdzić, jak biblioteki MS Runtime są rozmieszczone w katalogu Windows na% WINDIR%/WinSxS. Windows używa manifestu do określenia, która konkretna dll uruchomiona do załadowania. –

+1

Inna opcja, która może powodować ten sam problem: Manifest Tool | Osadź Manifest = Nie. –

+0

Dziękuję Ci głupio wyłączyłem manifest i to rozwiązało to dla mnie! Dzięki :) –

14

myślę, że trzeba zainstalować Microsoft Visual C++ 2008 Redistributable Package które można uzyskać z here.

+0

, ponieważ jest już załadowany, to nie jest rozwiązanie :( – ufukgun

3

Szukałeś na dysku twardym pliku? Można go znaleźć w katalogu, takich jak:

C: \ Program Files \ Microsoft Visual Studio 9.0 \ VC \ redist \ x86 \ Microsoft.VC90.CRT

Jeśli jest tam, skopiować go do \ Windows katalog \ system32.

Skopiuj również msvcm90.dll i msvcr90.dll, gdy jesteś na tym.

Jeśli to nie działa, wówczas należy pobrać i zainstalować pakiet redystrybucyjny Microsoft Visual C++ 2008. Śledź ten link do pobrania (ok 1,8 MB):

http://www.microsoft.com/downloads/thankyou.aspx?familyId=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displayLang=en

Sprawdź tutaj wielu sposobów sloving ten problem:

http://pcsupport.about.com/od/findbyerrormessage/a/msvcp90-dll-not-found-missing-error.htm

+0

znalazłem je tutaj: C: \ Program Files \ Intel \ Intel (R) Rapid Storage Technology \ Microsoft .VC90.CRT –

1

Sprawdź ustawienia projektu. Jeśli nie tworzysz manifestu dla wersji Release, biblioteka DLL musi znajdować się w katalogu System32.

Ponadto, jeśli kompilacje Release i Debugowania trafią do tego samego katalogu, może to być manifest debugowania, który wskazywałby wersję debugowania biblioteki DLL. Najlepiej jest wygenerować wbudowany manifest dla wszystkich kompilacji.

0

Istnieje kilka plików, które sprawiają, że Visual C++ Run-time i możesz mieć ten sam problem z każdym z nich. Możesz rzucić okiem na inne pytania dotyczące dowolnego z poniższych plików.

  • msvcP90.dll
  • msvcP90d.dll (wersja debugowania msvcP90.dll)
  • Msvcr90.dll
  • msvcR90d.dll (wersja debugowania Msvcr90.dll)
+0

Moja początkowa myśl była błędna. Nie ma to nic wspólnego z wypunktowaną listą, a wszystko to z tym, że starasz się pogrubić tylko część słowa. Jest to zgodne z projektem, ponieważ nie byłoby mieć błędnie pogrubionego kodu. Zobacz wyjaśnienie Jeffa tutaj: http://meta.stackexchange.com/questions/1643/bug-bolding-with-isnt-working-properly/1669#1669 –

+0

@Bill Na czym polega problem z nazwami plików z M w nazwie? –

1

Prawdopodobnie wyłączony oczywistego osadzanie w projekcie w konfiguracji uwalnianiu.

+0

Tak, masz rację. to było rozwiązanie, ale już to powiedziałem .. – ufukgun

Powiązane problemy