正在安装适用于Visual Studio的C/C++的openCV 2.4

Installing openCV 2.4 for C/C++ for Visual Studio

本文关键字:C++ openCV 安装 适用于 Visual Studio      更新时间:2023-10-16

我一整天都在尝试在Windows 7 for C/C++上安装适用于Visual Studio 2010的OpenCV(版本2.4.1和2.4.2)。

我一直在学习本教程:http://docs.opencv.org/trunk/doc/tutorials/introduction/windows_install/windows_install.html

我跳过了安装第三方软件(除了python 2.7和zlib):http://gnuwin32.sourceforge.net/packages/zlib.htm)。

我运行cmake,然后从openCV构建目录打开openCV.sln,等待visual studio加载然后构建它。visual studio给出了200个错误,这些错误只是以下两个重复多次的错误:

错误C1083:无法打开包含文件:"unistd.h":没有这样的文件或目录

错误LNK1104:无法打开文件"…."。。。。\lib\Debug\opencv_core241d.lib'

"OpenCV构建目录"/bin/Release不包含任何*.exe文件,只有大量的*.pdb文件,其中我可以看到contours.pdb。教程说我应该在那里看到contours.exe。

由于没有*.exe文件,我知道我在构建过程中遇到的两个错误是至关重要的。如果有任何想法可以帮助我解决这些问题,我将不胜感激。

以下构建步骤的解释应该有助于构建它:

  1. 安装cmake-这是所有平台所必需的

  2. cd到提取的目录中,并创建一个名为release(或任何其他名称)的新目录

  3. 从该目录运行cmake ..

  4. 您应该在发布目录中找到一个OpenCV.sln文件。

  5. 用Visual Stuido打开它并运行一个构建。

  6. 继续享受Opencv

我也遇到了一些困难——文档只是有点过时了。

此解决方案基于本教程:http://opencv.willowgarage.com/wiki/VisualC%2B%2B_VS2010_CMake

以下是我使用Visual C++2010学习版获得opencv 2.4.2 hello-world示例的确切步骤:

抓取源代码

下载opencv。

将opencv提取到C:\

构建二进制文件

下载cmake。打开cmake gui。。

源代码在哪里:C:/opencv

在哪里构建二进制文件:C:/opencv/build

单击"配置"-对于生成器,请选择Visual Studio 10单击"生成"。

在C:\opencv\build中,您现在应该可以看到opencv.sln.

使用VS C++Express打开解决方案文件并构建它。

设置hello world项目

在VS中创建一个新项目。选择控制台应用程序并勾选预编译的头。右键单击解决方案文件并选择属性。

在VC++目录窗口中,添加以下内容:

包含目录:C:\opencv\build\Include;C: \opencv\build\include\opencv;C: \opencv\build\include\opencv2

图书馆目录:C: \opencv\build\lib\Debug

源目录:C: \opencv\build\include

在C++->链接器->输入中,将以下内容添加到附加依赖项中:

opencv_core242d.lib
opencv_highgui242d.lib

Hello World内容

将教程中建议的内容更改为:

#include "stdafx.h"
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
int _tmain(int argc, _TCHAR* argv[])
{
        IplImage *img = cvLoadImage("funny-pictures-cat-goes-pew.jpg");
        cvNamedWindow("Image:",1);
        cvShowImage("image:",img);
        cvWaitKey();
        cvDestroyWindow("Image:");
        cvReleaseImage(&img);
        return 0;
}

将图像(或任何图像)放在项目目录中。

现在构建并点击Debug,它应该可以工作了。希望这能帮助到别人。

我不能放注释,所以我必须放作为答案。

@go4sri我遵循了你的说法,用visualstudio 2010编译了OpenCV,但我不知道如何配置属性文件以及将哪个文件夹放入Library目录,include目录。。。我需要一些帮助。

此刻我放:

C: \opencv\build\include在include目录中

C: 库目录中的\opencv\Release \lib\Debug。(我构建到Release文件夹中)

但我得到了未解析的外部符号。

 error LNK2019: unresolved external symbol "public: static class cv::MatExpr __cdecl  cv::Mat::zeros(int,int,int)" (?zeros@Mat@cv@@SA?AVMatExpr@2@HHH@Z) referenced in function "public: void __thiscall CtestDlg::OnBnClickedOk(void)" (?OnBnClickedOk@CtestDlg@@QAEXXZ)

编辑1:

我通过在输入链接器->输入->附加依赖项中添加.lib解决了这个问题,但现在我遇到了另一个问题。它告诉我找不到dll opencv.core242d.dll.

编辑2:

将所有dll放入发布版(用于发布版)或调试版(用于调试dll)可以解决问题,但我不明白为什么必须这样做。它找不到dll在哪里??