![](/img/trans.png)
[英]Microsoft Access runtime engine 64-bit giving error while accessing .accdb file
[英]EmguCV 64-bit build runtime error
我遇到了在W7 / x64 OS上使用.net 4.0和VS2010將現有的32位EmguCV( 2.3版 )構建為64位的問題。 我已經購買了商業許可證(如果有關系的話),並從收據中提供的鏈接下載了該許可證。
錯誤是
System.TypeInitializationException was unhandled
Message=The type initializer for 'Emgu.CV.CvInvoke' threw an exception.
Source=Emgu.CV
TypeName=Emgu.CV.CvInvoke
我按照本文提供的說明進行操作。 實際上,我使用了本文中的示例項目,並且使用V2.2可以很好地構建它們,但是當我替換為V2.3二進制文件(emgu和opencv)時,就會遇到錯誤。
有誰成功建立了Emgu( 2.3.x版 )x64項目? 請提供一些指導。
出現此錯誤的原因(其他人應該遇到相同的問題)是,即使輸出“ bin”目錄中存在程序,程序也無法訪問opencv_imgproc231.dll或opencv_core231.dll。
有兩種解決方案:
將它們添加到項目中,並將其屬性設置為copy always
因為它們是EMGU的兩個關鍵文件。
如果第1步不起作用,請用新副本替換bin文件夾中的當前密鑰文件。
如果這兩種方法均失敗,則說明構建可能存在問題,因此請從Sourceforge下載EMGU的新副本,然后重試。 稍后將在技術文章中包含該錯誤,以提供有關如何解決該錯誤的更清晰的說明。
克里斯,干杯
無需將它們添加到項目中; VS不會讓你。 只需在public static partial class CvInvoke
打開FaceRecognizer.cs
並更改:
[DllImport(CvInvoke.EXTERN_LIBRARY, CallingConvention = CvInvoke.CvCallingConvention)]
至:
[DllImport(Emgu.CV.CvInvoke.EXTERN_LIBRARY, CallingConvention = Emgu.CV.CvInvoke.CvCallingConvention)]
確保更改所有它們。
首先以這種方式進行測試:從emgu cv installaiton目錄中打開一個示例項目並運行它。 例如,打開hello world示例並嘗試運行它。 如果示例項目運行順利,則說明安裝正確。
對於emgu簡歷樣本項目,在該項目的生成設置輸出路徑選項的值設置為” .. \\ .. \\ bin'的 。 要解決您的項目問題,請在Visual Studio中打開項目,並將“ 輸出路徑”選項的值設置為'C:\\ Emgu \\ emgucv 2.9 \\ bin' 。 嘗試運行該項目。 它必須成功運行。
現在,將Output Path選項的值重新設置為bin \\ Debug \\ 。 然后,使用ADD- > Existing Item菜單將'C:\\ Emgu \\ emgucv 2.9 \\ bin'文件夾中的所有DLL文件添加到您的項目中。 同樣,使用ADD- > Existing Item菜單將'C:\\ Emgu \\ emgucv 2.9 \\ bin \\ x64'文件夾中的所有DLL文件添加到您的項目中。 現在,轉到屬性窗口,然后將所有dll文件的“ 復制到輸出目錄”選項設置為“始終復制” 。 最后,在“配置管理器”窗口中,為x64平台創建一個新配置。
祝好運
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.