Typeinitializeren for 'Emgu.CV.CvInvoke' kastede en undtagelse. Hvis du ser denne undtagelse, så tjek venligst følgende
Har du installeret MSVCRT? For version 2.0+ er den medfølgende OpenCV 2.0-binære version bygget med Visual Studio 2008, og du skal installere MSVCRT 9.0 SP1 for at løse afhængighedsproblemet. For version 1.5 er den medfølgende OpenCV pre1.1-binære version bygget med Visual Studio 2005, du skal installere MSVCRT 8.0 SP1 for at løse afhængighedsproblemet. Har du kopieret OpenCV-dll'erne til execution-mappen? Sørg for, at de uadministrerede DLL'er er i eksekveringsmappen. For Emgu CV version <= 2.1 betyder det følgende dll'er: cvXXX.dll, cvauxXXX.dll, cxcoreXXX.dll, highguiXXX.dll, opencv_ffmpegXXX.dll, mlXXX.dll andcvextern.dll hvor XXX er OpenCV versionsnummer. For Emgu CV-version >= 2.2 betyder dette følgende dll'er: opencv_calib3dXXX.dll, opencv_contribXXX.dll, opencv_coreXXX.dll, opencv_features2dXXX.dll, opencv_highguiXXX.dll, opencv_ imgprocXXX.dll, opencv_legacyXXX.dll, opencv_mlXXX.dll, opencv_objectdetectXXX.dll, opencv_videoXXX.dll hvor XXX er OpenCVversionsnummeret. Den bedste måde at sætte dit projekt op på er: Kopier de uadministrerede DLL'er til din projektmappe Højreklik på projektet, klik på Add->ExistingItem og vælg alle ikke-administrerede DLL'er. Tilføj dem til projektet. For hver af de inkluderede DLL'er, venstreklik på den, find "Copyto Output Directory" og vælg "Kopier hvis nyere" Kører du et 32-bit OS? Windows-installationsprogrammet er kun tilgængeligt for 32-bit vinduer. Hvis du bruger et 64-bit OS, er der tre mulige måder at løse dette problem på:
Du kan downloade den 64bit binær-only zip-pakke fra sourceforge og tilføje den til dit projekt. Du kan også genkompilere OpenCV fra kildekoden til 64-bit platformen. Se instruktionen for at bygge fra SVN Alternativt kan du tvinge din .NET-applikation til at køre i 32-bit tilstand, selv på et 64-bit styresystem. For at gøre dette skal du på konfigurationssiden for dit eksekverbare projekt vælge Platform Target as'x86'. Mangler du nogen afhængighed? Download Dependency Walker og brug den til at åbne filen "cvextern.dll". Tjek om der mangler nogen afhængighed.
Jeg har tjekket alt ovenfor, men jeg fik stadig undtagelsen I dette tilfælde, prøv venligst at bygge og køre eksemplerne. Efter at have bygget eksemplerne, prøv at køre "Hello World"-programmet.
Hvis "Hello World" kører uden problemer, sammenlign det med youproject, find forskellen i konfiguration og fix det.
Hvis "Hello World" får du det samme "Type initializer for'Emgu. CV.CvInvoke' kastede en undtagelse." besked, prøv at finde ud af, at InnerException og rapporter det til diskussionsforummet
Typeinitialisering af EMGU. CV. cvinvoke 'put exceptions. Hvis du ser denne undtagelse, så tjek venligst følgende Har du installeret msvcrt? Version 2+, medfølgende opencv 2-binær, er til at bygge Visual Studio 2008, og du skal installere edmsvcrt 9 SP1 for at løse afhængighedsproblemer. For version 1.5, medfølgende OpenCV pre1.1 binære build Visual Studio 2005, skal du installere edmsvcrt 8 SP1 for at løse afhængighedsproblemer. Den opencv DLL-eksekveringsmappe, du kopierede? Sørg for, at den uadministrerede DLL er i eksekveringsmappen. For emgu CV-versionen< = 2,1, hvilket betyder følgende DLL:cvxxx.dll,cvauxxxx.dll,cxcorexxx. DLL, highguixxx.dll, opencv_ffmpegxxx.dll, mlxxx.dll andcvextern.dll hvor xxx er versionsnumrene for opencv. For emgu CV-versionen> = 2,2 Det betyder, at følgende DLL:opencv_calib3dxxx.dll, opencv_contribxxx. DLL,opencv_corexxx.dll,opencv_features2dxxx。 DLL,opencv_highguixxx.dll,opencv_imgprocxxx.dll,opencv_legacyxxx。 DLL,opencv_mlxxx.dll,opencv_objectdetectxxx。 DLL, opencv_videoxxx.dll XXX er opencvversionsnummeret. Den bedste måde at bygge dit projekt på er: Uadministreret DLL kopieret til din projektmappe Højreklik på projektet og klik Add-> existing item for at vælge alle uadministrerede DLL'er. Tilføj dem til projektet. For hver DLL, den indeholder, venstreklik på den, find muligheden "Kopier og udskriv katalog", vælg "Kopier hvis opdateret" Kører du et 32-bit operativsystem? Windows Installer kan kun levere 32-bit Windows. Hvis du bruger et 64-bit operativsystem, er der tre mulige måder at løse dette problem på: Du kan downloade den 64-bit binær-only zip-pakke fra sourceforge og tilføje den til dit projekt. Du kan også kompilere OpenCV-kilder fra 64-bit platforme. Se direktivet om at bygge fromsvn Eller du kan tvinge din egen. .NET-applikationer kører i 32-bit tilstand, selv på 64-bit operativsystemer. For at gøre dette skal du på konfigurationssiden for dit eksekveringsprojekt vælge platformmålet som 'x86". Mangler du nogen afhængigheder? Download Dependent Walker og brug den til at åbne "cvextern DLL-filen." ”。 Tjek om der mangler nogen afhængigheder. Jeg har tjekket alt ovenstående, men jeg har stadig undtagelser I dette tilfælde kan du prøve at bygge og køre en instans. Efter at have bygget instansen, prøv at køre Hello World-programmet. Hvis Hello World kører uden problemer, sammenligner det med youproject, finder strukturelle forskelle og løser dem. Hvis "hello world" får det samme "type initial value setter for'emgu". CV. cvinvoke" kaster en undtagelse. besked, prøver at finde outtheinnerexception til forummet
|