2013-12-22 211 views
0

我是一名初學者學習OpenCV。我有最新版本(截至2013年12月2.4.7.2),並試圖加載圖像的簡單代碼。代碼是好的,但是當我編譯並運行源代碼時,它說 「程序無法啓動,因爲opencv_core247d.dll丟失。」OpenCV - 缺少dll?

我已經嘗試改變計算機的環境,並根據一些建議爲我的解決方案做出所有相應的路徑設置。我嘗試重新啓動電腦,將「丟失的文件」添加到我的源代碼的調試文件中,嘗試繞過CMake(幸運的是,雖然它未能生成任何內容,我想這適用於我的下一個問題);問題依然存在。

那麼,有沒有處理這個問題的傻瓜和簡單的方法?謝謝。順便說一句,這是我的小源代碼:


# include "highgui.h" 

int main (int argc, char** argv) 
{ 

    IplImage* img = cvLoadImage("D:\\OpenCV Test\\LoadImage\\fruits.jpg") ; 
    cvNamedWindow("Fuits", CV_WINDOW_AUTOSIZE) ; 
    cvShowImage("Fuits", img) ; 
    cvWaitKey(0) ; 
    cvDestroyWindow("Fruits") ; 
    cvReleaseImage (&img) ; 
} 

回答

0

確保你的環境變量設置是否正確(即Path應該有../opencv/bin/),然後使用這些線路在CMakeList文件生成適當的項目文件。

FIND_PACKAGE(OpenCV REQUIRED) 
TARGET_LINK_LIBRARIES(myProject ${OpenCV_LIBS}) 
1

您正在運行到OpenCV的DLL問題,類似here。修復dll相關的OpenCV相關問題的三種方法,也適用於其他dll相關問題。

  1. 將所需的dll複製到與您的應用程序相同的文件夾中。這有點更好,因爲它有助於在需要將應用程序部署在沒有安裝OpenCV的系統上的情況下(因爲不要忘記構建應用程序的發佈版本)。

  2. 將dll路徑添加到Debugging Environment:Project - > Properties - > Configuration Properties - > Debugging - > Environment - >在這裏添加dlls的路徑。語法是NAME = VALUE和宏可以用來(例如,$(OUTDIR)

    • 例如,前面加上C:\的Windows \溫度到PATH:PATH = C:\ Windows \溫度;%PATH%

    • 同樣,追加$(SolutionDir)\ DLLS到PATH:PATH =%PATH%; $(SolutionDir)\ DLLS

  3. 添加到Environment Variables dll路徑(注意那裏的路徑是由;


編輯:在這三種方法中,前兩種只能用於本項目(本地),最後一個工作,適用於在您的PC(全球)所有項目。

1

我有問題。 我有win7-64bit和visual studio 2013和opencv-3

程序無法啓動,因爲您的計算機缺少opencv_word300d.dll。嘗試重新安裝程序來解決問題。

+0

您可能需要將此dll複製到與Visual Studio放入最終exe文件相同的文件夾中,或者您可以將其添加到Windows系統文件夾(不建議)。 該DLL可能可以在opencv-3文件夾中找到...如果沒有,那麼你可能需要從opencv源碼自己編譯它 –

1

作爲提示,請確保鏈接器中的最後三位數字包含與您的實際dll文件相同的數字。 例如:版本3.2.0應該寫入320.dll等等

+1

這將是一個非常好的評論。但作爲一個答案,它可能有點薄恕我... 歡迎來到stackoverflow。請閱讀[如何回答](https://stackoverflow.com/help/how-to-answer)。 – Axel