Typový inicializátor pre 'Emgu.CV.CvInvoke' hodil výnimku. Ak uvidíte túto výnimku, prosím, skontrolujte nasledujúce
Nainštaloval si MSVCRT? Pre verziu 2.0+ sa pribalený binárny súbor OpenCV 2.0 zostavuje s Visual Studio 2008, budete musieť nainštalovať MSVCRT 9.0 SP1 na vyriešenie problému závislosti. Pre verziu 1.5 sa balený OpenCV pre1.1 binárny súbor zostavuje s Visual Studio 2005, budete musieť nainštalovať MSVCRT 8.0 SP1, aby ste vyriešili závislosťový problém. Skopíroval si OpenCV dll do adresára vykonávania? Uistite sa, že nespravované DLL sú v adresári vykonávania. Pre verziu Emgu CV <= 2.1 to znamená nasledujúce dll: cvXXX.dll, cvauxXXX.dll, cxcoreXXX.dll, highguiXXX.dll, opencv_ffmpegXXX.dll mlXXX.dll andcvextern.dll, kde XXX je OpenCV Verzia. Pre verziu Emgu CV >= 2.2 to znamená nasledujúce 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 kde XXX je číslo verzie OpenCV. Najlepší spôsob, ako nastaviť svoj projekt, je: Skopíruj nespravované DLL do priečinka projektu Kliknite pravým tlačidlom na projekt, kliknite na Add->ExistingItem a vyberte všetky nespravované DLL. Pridajte ich do projektu. Pre každú z zahrnutých DLL kliknite naň ľavým tlačidlom, nájdite možnosť "Kopírovať do výstupného adresára" a vyberte "Kopírovať, ak je novšia" Používate 32-bitový operačný systém? Windows inštalátor je dostupný iba pre 32-bitové okná. Ak používate 64-bitový operačný systém, existujú tri možné spôsoby, ako tento problém vyriešiť:
Môžeš si stiahnuť zip balík len pre 64-bitový binárny súbor fromsourceforge a pridať ho do svojho projektu. OpenCV môžete tiež prekompilovať zo zdrojového kódu pre 64-bitovú platformu. Pozrite si návod na zostavenie fromSVN Alternatívne môžete donútiť svoju .NET aplikáciu bežať v 32-bitovom režime, aj na 64-bitovom OS. Aby ste to urobili, na konfiguračnej stránke vášho spustiteľného projektu vyberte Platform Target ako 'x86'. Chýba ti nejaká závislosť? Stiahnite si Dependency Walker a použite ho na otvorenie súboru "cvextern.dll". Skontrolujte, či nechýba nejaká závislosť.
Skontroloval som všetko vyššie uvedené, ale aj tak som dostal výnimku V takom prípade sa prosím pokúste vytvoriť a spustiť príklady. Po vytvorení príkladov skúste spustiť program "Hello World".
Ak "Hello World" beží bez problémov, porovnajte ho s youproject, nájdite rozdiel v konfigurácii a opravte ho.
Ak "Hello World" dostanete rovnaký "The type initializer for'Emgu. CV.CvInvoke' hodil výnimku." správu, skúste zistiť InnerException a nahlásiť to diskusnému fóru
Typová inicializácia EMGU. CV。 cvinvoke 'dajte výnimky. Ak uvidíte túto výnimku, prosím, skontrolujte nasledujúce Nainštaloval si MSVCRT? Verzia 2+, pribalený opencv 2 binárny súbor je určený na zostavenie Visual Studio 2008 a na vyriešenie závislostí budete musieť nainštalovať edmsvcrt 9 SP1. Pre verziu 1.5, zabalenú OpenCV pre1.1 binárnu zostavu Visual Studio 2005, budete musieť nainštalovať edmsvcrt 8 SP1 na vyriešenie závislostí. Adresár na vykonávanie opencv DLL, ktorý si skopíroval? Uistite sa, že nespravovaná DLL je v adresári vykonávania. Pre verziu emgu CV< = 2.1, čo znamená nasledujúce DLL:cvxxx.dll,cvauxxxx.dll,cxcorexxx. DLL, highguixxx.dll, opencv_ffmpegxxx.dll mlxxx.dll andcvextern.dll kde xxx sú čísla verzií opencv. Pre verziu emgu CV> = 2,2 To znamená, že nasledujúci 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 je číslo opencvversion. Najlepší spôsob, ako vybudovať svoj projekt, je: Nespravované DLL skopírované do priečinka projektu Kliknite pravým tlačidlom na projekt a kliknite na Add-> existingitem, aby ste vybrali všetky nespravované DLL. Pridaj ich do projektu. Pre každé DLL, ktoré obsahuje, kliknite ľavým tlačidlom myši, nájdite možnosť "Kopírovať a vypisovať adresár" a vyberte "Kopírovať, ak je aktualizované" Používate 32-bitový operačný systém? Windows inštalátor dokáže poskytnúť iba 32-bitové Windows. Ak používate 64-bitový operačný systém, existujú tri možné spôsoby, ako tento problém vyriešiť: Môžeš si stiahnuť 64-bitový binárny zip balík fromsourceforge a pridať ho do svojho projektu. Môžeš tiež kompilovať zdrojové kódy OpenCV z 64-bitových platforiem. Pozri stavebnú direktívu FromSVN Alebo si môžeš vynútiť svoje. .NET aplikácie bežia v 32-bitovom režime, dokonca aj na 64-bitových operačných systémoch. Aby ste to urobili, na konfiguračnej stránke vášho vykonávacieho projektu vyberte cieľ platformy ako 'x86". Chýbajú ti nejaké závislosti? Stiahnite si Dependent Walker a použite ho na otvorenie "cvextern DLL súboru." ”。 Skontrolujte, či nechýbajú nejaké závislosti. Skontroloval som všetko vyššie uvedené, ale stále mám výnimky V takom prípade skúste vytvoriť a spustiť inštanciu. Po zostavení inštancie skúste spustiť program Hello World. Ak Hello World beží bez problémov, porovná sa s tvojím projektom, nájde štrukturálne rozdiely a vyrieši ich. Ak "hello world" dostane rovnaké "napíš počiatočnú hodnotu setter for'emgu". CV。 cvinvoke" uvádza výnimku. správa, snažím sa zistiť, čo sa týka vnútornej výnimky na fóre
|