See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 19471|Vastuse: 0

[Allikas] "Tüübi initsialiseerija 'Emgu.CV.CvInvoke' tegi erandi"?

[Kopeeri link]
Postitatud 25.11.2015 10:57:59 | | |
'Emgu.CV.CvInvoke' tüübi algataja andis erandi.
Kui näete seda erandit, palun kontrollige järgmist

Kas oled MSVCRT paigaldanud?
Versiooni 2.0+ puhul on kaasas olev OpenCV 2.0 binaar ehitatud Visual Studio 2008-ga, sõltuvusprobleemi lahendamiseks tuleb paigaldada MSVCRT 9.0 SP1.
Versiooni 1.5 puhul on OpenCV pre1.1 binaar ehitatud Visual Studio 2005-ga, sõltuvusprobleemi lahendamiseks tuleb paigaldada MSVCRT 8.0 SP1.
Kas oled kopeerinud OpenCV DLL-id täitmise kausta?
Veendu, et haldamata DLL-id oleksid täitmise kataloogis.
Emgu CV versiooni <= 2.1 puhul tähendab see järgmisi DLL-e: cvXXX.dll, cvauxXXX.dll, cxcoreXXX.dll, highguiXXX.dll, opencv_ffmpegXXX.dll, mlXXX.dll andcvextern.dll, kus XXX on OpenCV versiooninumber.
Emgu CV versiooni >= 2.2 puhul tähendab see järgmisi DLL-e: 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, kus XXX on OpenCVversiooni number.
Parim viis oma projekti ülesseadmiseks on:
Kopeeri haldamata DLL-id oma projektikausta
Paremklõpsa projektil, klõpsa Add->ExistingItem ja vali kõik haldamata DLL-id. Lisa need projekti.
Iga kaasasoleva DLL-i puhul klõpsa vasakult, leia valik "Copyto Output Directory" ja vali "Copy if newer"
Kas kasutad 32-bitist operatsioonisüsteemi?
Windowsi installer on saadaval ainult 32-bitiste akende jaoks. Kui kasutad 64-bitist operatsioonisüsteemi, on selle probleemi lahendamiseks kolm võimalikku lahendust:

Saad alla laadida ainult 64-bitise binaarse zip-paketi Sourceforge'ist ja lisada selle oma projekti.
Saad ka OpenCV-d lähtekoodist ümber kompileerida 64-bitisele platvormile. Vaata juhendit SVN-ist ehitamiseks
Alternatiivina saad sundida oma .NET rakendust töötama 32-bitises režiimis, isegi 64-bitise operatsioonisüsteemiga. Selleks vali oma täidetava projekti seadistuslehel Platform Target as'x86'.
Kas sul on mõni sõltuvus puudu?
Laadi alla Dependency Walker ja kasuta seda, et avada "cvextern.dll" fail. Kontrolli, kas mõni sõltuvus on puudu.

Olen kõik eelmainitud üle vaadanud, aga sain ikkagi Erandi
Sellisel juhul palun proovi näiteid koostada ja käivitada. Pärast näidete koostamist proovi käivitada "Hello World" programm.

Kui "Hello World" töötab probleemideta, võrdle seda youprojectiga, leia konfiguratsioonide erinevus ja paranda see.

Kui "Hello World" saab sama "The type initializer for 'Emgu. CV.CvInvoke' viskas erandi." sõnumi, proovi leida theInnerException ja teatada sellest arutelufoorumisse



EMGU tüübi initsialiseerimine. CV. Cvinvoke 'pane erandid.
Kui näete seda erandit, palun kontrollige järgmist
Kas oled MSVCRT paigaldanud?
Versioon 2+, kaasas olevat opencv 2 binaar on mõeldud Visual Studio 2008 ehitamiseks ning sõltuvusprobleemide lahendamiseks pead paigaldama edmsvcrt 9 SP1.
Versiooni 1.5 puhul, mis on kaasas OpenCV enne 1.1 binaarversiooniga Visual Studio 2005, pead paigaldama edmsvcrt 8 SP1, et lahendada sõltuvusprobleeme.
Opencv DLL täitmise kausta, mille kopeerisid?
Veendu, et haldamata DLL oleks täitmiskataloogis.
Emgu CV versiooni puhul< = 2.1, mis tähendab järgmist DLL:cvxxx.dll,cvauxxxx.dll,cxcorexxx. DLL, highguixxx.dll, opencv_ffmpegxxx.dll mlxxx.dll andcvextern.dll kus xxx on opencv versiooninumbrid.
Emgu CV versiooni puhul> = 2.2 See tähendab, et järgmine 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 on opencvversion number.
Parim viis oma projekti ehitamiseks on:
Haldamata DLL kopeeritud sinu projektikausta
Paremklõpsa projektil ja klõpsa Add-> existingitem, et valida kõik haldamata DLL-id. Lisa need projekti.
Iga DLL-i puhul, mida see sisaldab, klõpsa vasakult, leia valik "Copy & Output Directory" ja vali "Copy if update"
Kas sul on 32-bitine operatsioonisüsteem?
Windowsi paigaldaja suudab pakkuda ainult 32-bitist Windowsi. Kui kasutad 64-bitist operatsioonisüsteemi, on selle probleemi lahendamiseks kolm võimalikku lahendust:
Saad alla laadida ainult 64-bitise binaarse zip-paketi sourceforge'ist ja lisada selle oma projekti.
Samuti saab kompileerida OpenCV allikaid 64-bitistelt platvormidelt. Vaata ehitusjuhist fromsvn
Või saad oma sundida. .NET rakendused töötavad 32-bitises režiimis, isegi 64-bitistes operatsioonisüsteemides. Selleks vali oma täitmisprojekti konfiguratsioonilehel platvormi sihtmärgiks 'x86".
Kas sul on mõni sõltuvus puudu?
Laadi alla Dependent Walker ja kasuta seda "cvextern DLL faili" avamiseks. ”。 Kontrolli, kas mõni sõltuvus on puudu.
Kontrollisin kõike eelnevat, aga mul on siiski erandeid
Sellisel juhul proovi instantsi ehitada ja käivitada. Pärast instantsi loomist proovi käivitada Hello World programm.
Kui Hello World töötab probleemideta, võrreldub see youprojectiga, leiab struktuurilisi erinevusi ja lahendab selle.
Kui "hello world" saab sama "type initial value setter for'emgu". CV. cvinvoke" teeb erandi. sõnum, püüan välja selgitadatheinnerexception foorumis





Eelmine:Üksikasjalik juhend 0 Yuanlu Xiaomi käevõru ja teiste toodete kohta
Järgmine:C# impordib ja kutsub Win32 API funktsioone DllImporti kaudu
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com