2014-01-10 26 views
0

我想問一下關於cascadeclassfier的加載在release中不起作用。 我使用Microsoft Visual Studio 2010和OpenCV 2.4.7。CascadeClassifier.load()錯誤只發布

我的代碼:

CascadeClassifier cascade; 

if(!cascade.load("D:/data/training.xml")) 
{ 
    printf("Error load XML!\n"); 
    return -1; 
} 

事情我試過到目前爲止:

  • 試圖手動指定使用 「」
  • 試圖使用/或\路徑
  • 路徑
  • 試圖給用戶許可
  • 試圖調用xml而不使用絕對路徑
  • 嘗試使用許多種由他們

附加信息創建一個新的文件夾搜索這個錯誤

  • 試過單獨的XML時,我找到了代碼:

    • 在調試運行模式工作100%完美
    • 在使用Visual Studio時釋放時觸發中斷
    • 運行時使用創建時創建的exe只顯示「Error load XML!」

    我現在很困惑,所以我決定問.. 以前感謝。

  • +0

    確保在發佈版本中,您與發佈版本的OpenCV庫鏈接並使用發佈dll。如果您將Debug和Release混合使用,請參見以下示例(http://stackoverflow.com/q/8859770/2065121)。 –

    +0

    謝謝你的回答,這對我有很大的幫助:) –

    回答

    1

    從調試切換到發佈模式時,我遇到過類似的問題。我有從調試到釋放的複製配置,並在鏈接器>輸入>附加依賴關係中出錯。我只好用opencv_world320d.lib調試模式和opencv_world320.lib發佈方式解決這個問題。