Az 'Emgu.CV.CvInvoke' típus-inicializátora kivételt adott neki. Ha ezt a kivételt látod, kérjük, nézd meg a következőket
Telepítetted már az MSVCRT-t? A 2.0+ verzióhoz a mellékelt OpenCV 2.0 bináris a Visual Studio 2008-cal van építve, a függőségi probléma megoldásához telepítened kell az MSVCRT 9.0 SP1-et. A 1.5-ös verzióhoz a mellékelt OpenCV pre1.1 bináris a Visual Studio 2005-tel van építve, a függőségi probléma megoldásához telepítened kell az MSVCRT 8.0 SP1-et. Másoltad már az OpenCV dll-eket a végrehajtási könyvtárba? Győződj meg róla, hogy a menedzselt DLL-ek a végrehajtási könyvtárban vannak. Az Emgu CV <= 2.1 verziónál ez a következő dll-eket jelenti: cvXXX.dll, cvauxXXX.dll, cxcoreXXX.dll, highguiXXX.dll, opencv_ffmpegXXX.dll, mlXXX.dll andcvextern.dll, ahol XXX az OpenCV verziószám. Az Emgu CV >= 2.2 verziónál ez a következő dll-eket jelenti: 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, ahol XXX az OpenCV verziószám. A projekt legjobb beállítása a következő: Másold le a kezeletlen DLL-eket a projektmappádba Jobb kattints a projektre, kattints az Add->ExistingItem gombra, és válaszd ki az összes kezeletlen DLL-t. Add hozzá őket a projekthez. Minden mellékelt DLL-hez bal kattints rá, keresd meg a "Copyto Output Directory" opciót, és válaszd a "Másold be ha újabb" 32 bites operációs rendszert futtatsz? A Windows telepítő csak 32 bites Windowshoz érhető el. Ha 64 bites operációs rendszert használsz, három lehetséges megoldás létezik ennek a problémának:
Letöltheted a 64 bites csak bináris zip-csomagot a sourceforge-ról, és hozzáadhatod a projektedhez. Az OpenCV-t forrásból is újrafordíthatod 64 bites platformra. Lásd az építési utasítást az SVN-ből Alternatívaként kényszerítheted a .NET alkalmazásodat 32 bites módban futtatni, még egy 64 bites operációs rendszeren is. Ehhez a végrehajtható projekt konfigurációs oldalán válaszd ki a Platform Target as'x86' opciót. Hiányzik valamilyen függőség? Töltsd le a Dependency Walker-t, és használd vele a "cvextern.dll" fájl megnyitásához. Nézd meg, hiányzik-e valamilyen függőség.
Mindent megnéztem, de mégis megkaptam a Kivételt Ebben az esetben próbáld meg összeállítani és futtatni a példákat. A példák elkészítése után próbáld meg futtatni a "Hello World" programot.
Ha a "Hello World" gond nélkül működik, hasonlítsd össze a youproject-szel, keresd meg a konfigurációs különbséget, és javítsd meg.
Ha a "Hello World" ugyanazt a "The type initializer for 'Emgu. CV.CvInvoke' küldött egy kivételt." üzenetet, próbáld meg megtalálni az InnerException-t, és jelents a vitafórumon
Az EMGU típus-inicializálása. CV. Kivételeket tegyen. Ha ezt a kivételt látod, kérjük, nézd meg a következőket Telepítetted már az MSVCRT-t? A 2+ verzió, a csomagban lévő opencv 2 bináris a Visual Studio 2008 építéséhez szolgál, és telepítened kell az edmsvcrt 9 SP1-et a függőségi problémák megoldásához. Az 1.5-ös verzióhoz, a Visual Studio 2005-höz tartozó OpenCV pre1.1 binary build csomagolt a Visual Studio 2005-höz, telepítened kell az edmsvcrt 8 SP1-et a függőségi problémák megoldásához. Az opencv DLL végrehajtó könyvtár, amit lemásoltál? Győződj meg róla, hogy a nem menedzsel DLL a végrehajtási könyvtárban van. Az emgu CV verziónál< = 2.1, ami a következő DLL:cvxxx.dll,cvauxxxx.dll,cxcorexxx-t jelenti. DLL, highguixxx.dll, opencv_ffmpegxxx.dll, mlxxx.dll andcvextern.dll ahol xxx az opencv verziószámai. Emgu CV verziónál> = 2.2 Ez azt jelenti, hogy a következő 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 az opencvversion szám. A projekt megépítésének legjobb módja a következő: Kezeletlen DLL másolva a projektmappádba Jobb kattintással a projektre, majd az Add-> existingitem gombra, hogy kiválassza az összes kezeletlen DLL-t. Hozzáadd őket a projekthez. Minden DLL-hez bal kattints rá, keresd meg a "Másolás és kimenet könyvtár" opciót, válaszd a "Másolás, ha frissített" opciót. 32 bites operációs rendszert futtatsz? A Windows telepítő csak 32 bites Windows-t tud biztosítani. Ha 64 bites operációs rendszert használsz, három lehetséges megoldás létezik ennek a problémának: Letöltheted a 64 bites, kizárólag bináris zip-csomagot a sourceforge-ról, és hozzáadhatod a projektedhez. OpenCV forrásokat is fordíthatsz 64 bites platformokról. Lásd az épület építési irányelvét Vagy kényszerítheted a sajátodat. A .NET alkalmazások 32 bites módban futnak, még 64 bites operációs rendszereken is. Ehhez a végrehajtási projekt konfigurációs oldalán válaszd ki a platform célpontját 'x86"-ként. Hiányozol valamilyen függőség? Töltsd le a Dependent Walker-t, és használd vele a "cvextern DLL fájl" megnyitásához. ”。 Nézd meg, hiányoznak-e valamilyen függőség. Mindezt megnéztem, de még mindig vannak kivételek Ebben az esetben próbálj meg instanciót építeni és futtatni egy példányt. A példány megépítése után próbáld meg futtatni a Hello World programot. Ha a Hello World gond nélkül működik, összehasonlítja a youproject-tel, szerkezeti különbségeket talál és megoldja azokat. Ha a "hello world" ugyanazt a "type initial value setter for'emgu" kapja. CV. cvinvoke" kivételt hoz. üzenet, próbálom kideríteni a fórum belső kivételét
|