为Visual Studio安装openCV 2.4 for C / C ++

我一直在尝试在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. 您应该在release目录中找到OpenCV.sln文件。

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

  6. 来吧,享受Opencv

我也遇到了一些困难 – 文档只是略微过时了。

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

以下是我使用Visual C ++ 2010 Express获取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 ++ – > Linker – > Input中,将以下内容添加到Additional Dependencies:

 opencv_core242d.lib opencv_highgui242d.lib 

Hello World Content

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

 #include "stdafx.h" #include  #include  #include  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我按照你所说的并用Visual Studio 2010编译OpenCV但我不知道如何配置属性文件以及放在Library目录中的文件夹,包含目录……我需要一些帮助。

目前我放了:

Include目录中的C:\ opencv \ build \ 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:

我通过在输入链接器 – > input->附加依赖项中添加.lib来解决问题,但现在我有另一个问题。 它告诉我它找不到dll opencv_core242d.dll。

编辑2:

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