Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 19471|Válasz: 0

[Forrás] "Az 'Emgu.CV.CvInvoke' típus-inicializátora kivételt adott neki"?

[Linket másol]
Közzétéve 2015. 11. 25. 10:57:59 | | |
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





Előző:Részletes útmutató a 0 Yuanlu Xiaomi karkötőhöz és más termékekhez
Következő:C# importál és hívja a Win32 API funkciókat a DllImporton keresztül
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com