2015-09-04 200 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教程,因为它会让你完全安装。

相关问题