在VS 2008上启动OpenCV 2.4.6时出现致命错误,找不到文件

时间:2013-11-13 08:38:36

标签: c++ visual-c++ visual-studio-2008 opencv application-settings

我正在使用本教程开始使用VS 2008上的OpenCV 2.4.6: http://docs.opencv.org/doc/tutorials/introduction/windows_visual_studio_Opencv/windows_visual_studio_Opencv.html

我按照所有说明操作(我的OpenCV不在默认的Program Files(x86)文件夹中,它在

C:\opencv_built

与教程不同,我提出了非常简单的代码,只是为了确保所有包含的文件都可以访问,如果它成功构建等等:

#include "stdafx.h"

#include <iostream> // for standard I/O
#include <string>   // for strings
#include <iomanip>  // for controlling float print precision
#include <sstream>  // string to number conversion

#include <opencv2/imgproc/imgproc.hpp>  // Gaussian Blur
#include <opencv2/core/core.hpp>        // Basic OpenCV structures (cv::Mat, Scalar)
#include <opencv2/highgui/highgui.hpp>  // OpenCV window I/O
using namespace std;
using namespace cv;

double getPSNR ( const Mat& I1, const Mat& I2);
Scalar getMSSIM( const Mat& I1, const Mat& I2);


int main(int argc, char *argv[])
{
    return 0;
}

但是当我尝试构建时,我遇到致命错误:

fatal error C1083: Cannot open include file: 'opencv2/imgproc/imgproc.hpp': No such file or directory   c:\Users\Administrator\Documents\Visual Studio 2008\Projects\firstopencv\firstopencv\firstopencv.cpp    17  

这显然是指这一行:

#include <opencv2/imgproc/imgproc.hpp>  // Gaussian Blur

我不知道在哪里可以找到dll文件,或者下一步该怎么做?我知道这一定非常简单,但我搜索了任何dll文件,例如。

  

opencv_core243d.lib

但我没有搜索结果。

3 个答案:

答案 0 :(得分:1)

1。检查 \ vc10 文件夹的路径。应该是:

C:\opencv_built\build\x86\vc10

C:\opencv_built\x86\vc10

2。转到

Start>Edit environment variables for your account>Under System variables > New...

变量名称: OPENCV_DIR

变量值:在此处插入步骤1中的路径。


3. 打开Visual Studio,制作新项目,转到属性页


4. C / C ++&gt;其他包含目录

插入$(OPENCV_DIR)\..\..\include


5. 链接器&gt;下一般&gt;其他包含目录

插入$(OPENCV_DIR)\lib


6a。(对于 DEBUG 属性!)在链接器&gt;下输入&gt;其他依赖性

插入

opencv_core246d.lib
opencv_imgproc246d.lib
opencv_highgui246d.lib
opencv_ml246d.lib
opencv_video246d.lib
opencv_features2d246d.lib
opencv_calib3d246d.lib
opencv_objdetect246d.lib
opencv_contrib246d.lib
opencv_legacy246d.lib
opencv_flann246d.lib

6b。(对于 RELEASE 属性!)在链接器&gt;下输入&gt;其他依赖性

插入

opencv_core246.lib
opencv_imgproc246.lib
opencv_highgui246.lib
opencv_ml246.lib
opencv_video246.lib
opencv_features2d246.lib
opencv_calib3d246.lib
opencv_objdetect246.lib
opencv_contrib246.lib
opencv_legacy246.lib
opencv_flann246.lib

这应该足够了。如果您在运行代码后丢失.dll窗口,请将所需的.dll从C:\opencv_built\build\x86\vc10\binC:\opencv_built\x86\vc10\bin复制到项目文件夹。

答案 1 :(得分:0)

这不是一个dll文件,它是一个头文件。该文件名为imgproc.hpp

如果您的编译器找不到它,或者因为它不存在,或者是因为您没有告诉编译器在哪里找到它。

VS的重要部分是“其他包含目录”,请在您关注的网页上再次查看该部分。

答案 2 :(得分:0)

好的修复是这样的:

在链接器下 - &gt;一般 - &gt; 其他图书馆依赖关系

我说:

C:\opencv_built\lib\Debug