2014-02-13 206 views
2

我試圖在visual studio + opencv中編譯一個簡單的代碼,但得到了這個錯誤。OpenCV錯誤:「LINK:致命錯誤LNK1104:無法打開文件'opencv_core231d.lib'」

代碼:

#include <opencv2/imgproc/imgproc.hpp> 
#include <opencv2/highgui/highgui.hpp> 

using namespace cv; 

int main (int argc, char **argv) 

{ 
    Mat im_gray; 
    Mat img_bw; 
    Mat img_final; 

    Mat im_rgb = imread("001.jpg"); 
    cvtColor(im_rgb,im_gray,CV_RGB2GRAY); 

    adaptiveThreshold(im_gray, img_bw, 255, ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY_INV, 105, 1); 

    imwrite("001-bw2.jpg", img_final); 
    return 0; 
} 

輸出:

1>------ Build started: Project: pibiti, Configuration: Debug Win32 ------ 
1>LINK : fatal error LNK1104: cannot open file 'opencv_core231d.lib' 
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== 

鏈接器>>輸入:

opencv_core231d.lib 
opencv_highgui231d.lib 
opencv_video231d.lib 
opencv_ml231d.lib 
opencv_legacy231d.lib 
opencv_imgproc231d.lib 
tbb_debug.lib 
tbb_preview_debug.lib 
tbbmalloc_debug.lib 
tbbmalloc_proxy_debug.lib 
tbbproxy_debug.lib 

我該如何解決這個問題?文件'opencv_core231d.lib'已經存在,爲什麼會出現這個錯誤?

+2

'lib'確實存在於磁盤上嗎?項目屬性中列出的文件夾是否位於* Linker-> General-> Additional庫目錄*下? –

+1

請使用CMake生成你的項目文件。它將確保所有屬性都已配置。 – scap3y

回答

3

將庫文件的路徑添加到庫路徑中。

右鍵單擊該項目並轉到Properties-> Linker-> Additional Library directories。將路徑添加到此列表。

+0

我做了,但錯誤仍在繼續。我該怎麼辦? – U23r

+1

那麼只有當路徑沒有添加/錯誤時纔會出現此錯誤。如果將正確的路徑添加到opencv lib文件中,錯誤將消失。確保在Visual Studio中,您始終將路徑添加到所有配置(調試/發佈)。另請參閱本指南:http://stackoverflow.com/questions/7011238/opencv-2-3-c-visual-studio-2010 – littleimp

0

我有同樣的問題。儘管確保圖書館的路徑正確,但我收到了「無法打開文件」錯誤。問題是我在鏈接器屬性中的其他程序集引用中將dll命名爲錯誤。我已經按照上面的方式給他們了(最後是「231」)。但實際的Dll的名稱以「249」結尾。改變這個解決了我的問題。可能對其他人有幫助:-)

之後,項目將成功建成。但是,您可能會發現opencv_core249d.lib在您的計算機中缺少運行時錯誤,您需要重新安裝它。這是因爲即使路徑已經添加到環境變量,窗口​​必須重新啓動才能生效。這將解決它。

0

我有同樣的問題,所以在屬性 - >連接器 - >附加庫目錄, 我不得不更換

$(OPENCV_DIR)\lib 

C:\opencv\build\x86\vc12\lib 

無論是在調試和發佈。

現在它的工作。

0

添加到這個解決方案列表中,我只是簡單地將項目更改爲64位。

0

我有一個類似的問題 - 我通過更改路徑中的鏈接來解決它。 而不是:$(OPENCV_DIR)\lib或這種路徑C:\opencv\build\x86\vc12\lib只是在最後加上\

對我來說,它與C:\opencv\build\x86\vc12\lib\一起工作,所以我沒有嘗試使用環境變量。

相關問題