首页 文章

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

提问于
浏览
6

我一直在尝试在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文件,我理解在构建过程中遇到的两个错误是至关重要的 . 我会很感激能帮助我解决问题的任何想法 .

3 回答

  • 1

    以下对构建步骤的解释应该可以帮助您构建它:

    • 安装cmake - 这是所有平台都需要的

    • cd进入解压缩的目录并创建一个名为release(或任何其他名称)的新目录

    • 从此目录中运行 cmake ..

    • 您应该在发布目录中找到 OpenCV.sln 文件 .

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

    • 继续享受Opencv

  • 4

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

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

    以下是我使用Visual C 2010 Express获取opencv 2.4.2 hello world示例的确切步骤:

    Grab the source code

    下载opencv .

    将opencv解压缩到C:\

    Building the binaries

    下载cmake . 打开cmake gui ..

    源代码在哪里:C:/ opencv

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

    单击“配置” - 为生成器选择“Visual Studio”10单击“生成” .

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

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

    Setting up the hello world project

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

    在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 <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,它应该工作 . 希望这有助于某人 .

  • 2

    我不能发表评论所以我必须作为答案 .

    @ 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)中解决问题,但我不明白为什么我必须这样做 . 它找不到自己在哪里?

相关问题