2013-02-26 50 views
1

我想爲我的C#項目設置EMGU庫。我正在關注此鏈接http://file.emgu.com/wiki/index.php/Setting_up_EMGU_C_Sharp在C#中設置EMGU庫的例外#

我被困在:x64架構和EMGU.CV.Invoke異常一步。我正在使用Visual C#2010 Express版本,並且平臺目標不顯示x64選項。我試圖檢查顯示高級構建配置,然後運行我的項目,但它引發類型初始化錯誤與內部異常:「無法加載DLL'opencv_core242':找不到指定的模塊(從HRESULT異常:0x8007007E) 「。但根據上述鏈接它應該拋出誤差與「的InnerException」「試圖加載程序格式不正確的......」。

的例外是在下面的行拋出。

cap = new Capture(0); 

請幫助我。

回答

0

它看起來更像是在運行時OpenCV的DLL文件不能被發現。他們查到的。你可以檢查opencv_core242.dll文件出現在bin \ Debug文件夾?如果我記得它應該與Emgu dll的文件並排。

你必須包含OpenCV DLL,並確保它們被複制到輸出目錄。如果您使用的是x64版本的EmguCV,則您還需要x64版本的opencv。

我有一個testing project on github,它使用DLL的32位DLL二進制文件。我記得我爲了能夠部署到Azure(僅運行x64)而被迫使用x64版本的DLL創建另一個版本。

+0

我已經在bin/Debug文件夾中包含了opencv_core242.dll,並且在上面的鏈接中提到了我的項目。我無法做的是將我的項目配置爲在x64平臺上工作。 – 2013-02-26 17:24:30

0

我認爲你描述的問題不再與Emgu.Cv相關。

試試下面的鏈接,這可能會解決你的問題:

MSDN Forum

或者:

  1. 重新安裝您的Visual C#2010速成
  2. 升級到Visual C#2012快速
0

是的 - 你絕對需要在bin/Debug文件夾中包含opencv_core242.dll(如果這是你的輸出路徑!)和你的項目中。

請記住,opencv_core242.dll是依賴於其他DLL的。確保你有他們全部包括,以及這應該解決您的問題。如果你找不到DLL依賴於opencv_core242.dll,請嘗試下載Dependency Walker。它可以幫助您在y中建立所有依賴模塊的分層樹狀圖。

祝你好運!

1

它爲我的作品:

只需創建一個在調試\名爲「64」的目錄,並複製opencv_xxx.dll這個「64」文件夾內。