2015-09-04 161 views
0

我試圖運行與OpenCV Visual C++。我已經將OpenCV鏈接到了Visual Studio 2012.當我試圖運行代碼時,它給了我一個錯誤;致命錯誤LNK1104:無法打開文件'opencv_calib3d246.dll'

LINK : fatal error LNK1104: cannot open file 'opencv_calib2d246.dll' 

這就是我要怎樣做:

#include "stdafx.h" 
#include "opencv2\highgui\highgui.hpp" 
#include "opencv2\core\core.hpp" 
#include<iostream> 

using namespace cv; 
using namespace std; 

int main(int argc, char** argv) 
{ 
    if(argc !=2) 
    { 
     cout <<"usage: display_image ImageToLoadAndDisplay"<<endl; 
     return -1; 
    } 

    Mat image; 
    image=imread(argv[1],CV_LOAD_IMAGE_UNCHANGED); 

    if(! image.data) 
    { 
     cout<<"couldn't open or find the image"<<endl; 
     return -1; 
    } 

    namedWindow("Display Window",WINDOW_AUTOSIZE); 
    imshow("Display Window",image); 

    waitKey(0); 
    return 0; 
} 

我已經包括了所有的庫。我在Windows 7 32位系統上使用OpenCV 2.4.6。

enter image description here

再說了我要補充,還是我必須在程序初始化呢?

更新

在我的硬盤OpenCV的路徑:E:\opencv\opencv。系統環境變量中的路徑:%OPENCV_DIR%\x86\vc11\bin;,其中我創建了一個新變量作爲OPENCV_DIR,並給出了路徑E:\opencv\opencv\build。並在linker\command line

/OUT:「E:\ VS2012 Projects \ cvtest \ Debug \ cvtest.exe」/ MANIFEST/NXCOMPAT/PDB:「E:\ VS2012 Projects \ cvtest \ Debug \ cvtest.pdb」/ DYNAMICBASE「 opencv_calib3d248.lib 「 」opencv_calib3d248d.lib「 」opencv_contrib248.lib「 」opencv_contrib248d.lib「 」opencv_core248.lib「 」opencv_core248d.lib「 」opencv_features2d248.lib「 」opencv_features2d248d.lib「 」opencv_flann248.lib「 」opencv_flann248d.lib「」 「opencv_gpu248.lib」「opencv_gpu248d.lib」「opencv_highgui248.lib」「opencv_highgui248d.lib」「opencv_imgproc248.lib」「opencv_imgproc248d.lib」「opencv_legacy248.lib」「opencv_legacy248d.lib」「opencv_ml248.lib」「opencv_ml248d.lib」「 opencv_nonfree248.lib」 「opencv_nonfree248d.lib」 「opencv_objdetect248.lib」 「opencv_objdetect248d.lib」 「opencv_ocl248.lib」 「opencv_ocl248d.lib」 「opencv_photo248.lib」 「opencv_photo248d.lib」 「opencv_stitching248.lib」 「opencv_stitching248d.lib」 「opencv_superres248.lib」「opencv_superres248d.lib」「opencv_ts248.lib」「opencv_ts248d.lib」「opencv_video248.lib」「opencv_video248d.lib」「opencv_videostab248.lib」「opencv_videostab248d.lib」「kernel32.lib」「user32.lib」 「gdi32.lib」「winspool.lib」「comdlg32.lib」「advapi32.lib」「shell32.lib」「ole32.lib」「oleaut32.lib」「uuid.lib」「odbc32.lib」「odbccp32.lib」/DEBUG/MACHINE:X86/INCREMENTAL/PGD:「E:\ VS2012 Projects \ cvtest \ Debug \ cvtest.pgd」/ MANIFESTUAC:「level ='asInvoker'uiAccess ='false'」/ManifestFile:"Debug\cvtest.exe .intermediate.manifest「/ ERRORREPORT:PROMPT/NOLOGO/TLBID:1

現在我無法加載圖像。沒有致命的錯誤,什麼也沒有。它正在考慮if語句並且不加載任何內容。

有什麼建議嗎?

+0

您是否添加了對此dll的引用?我嘗試在C#中使用opencv我剛剛添加它在參考 – Sherlock

+0

去鏈接器/一般,並添加該.lib文件所在的路徑,以「額外的鏈接器目錄」或類似 – Micka

+0

@Micka我檢查了路徑。我也指定了路徑。仍然我收到了同樣的錯誤。 –

回答

1

您需要設置的不僅僅是鏈接器的依賴關係,而且很可能您錯過了一個步驟。

我會建議以下this教程,因爲它會讓你完全安裝。

相關問題