【问题标题】:OpenCV 2.3.1 installation, VS 2010, MEXOpenCV 2.3.1 安装,VS 2010,MEX
【发布时间】:2011-11-02 16:37:44
【问题描述】:

这是另一个 OpenCV 安装问题,但是我无法通过阅读现有问题的答案找到答案。我正在尝试在 VS 2010 中设置 OpenCV 2.3.1 目录,并将我的几个项目从 OpenCV 2.2 迁移到这个新版本。我关注了这个Setup OpenCV-2.3 for Visual Studio 2010 的帖子,它适用于 2.3(2.3 和 2.3.1 显然具有相同的文件夹结构),但它似乎并不准确。

首先,如果我下载并解压 OpenCV-2.3.0-win-superpack.exe(sourceforge 上的 2011-07-04 版本),则没有 buildopencv 目录。另外,没有任何预编译的库,我必须使用 CMake,创建 VS2010 解决方案并从头开始编译。

二、三个包含目录

C:\OpenCV2.3\build\include\opencv
C:\OpenCV2.3\build\include\opencv2
C:\OpenCV2.3\include

不包含所有必要的模块头。如果我包括

#include <opencv/cv.h>

#include <opencv2/opencv.hpp>

并尝试构建项目,我为每个模块(核心、imgproc、...)获得 C1083,因为 opencv.hpp 有这些行

#include "opencv2/core/core_c.h"
#include "opencv2/core/core.hpp"
#include "opencv2/flann/miniflann.hpp"
#include "opencv2/imgproc/imgproc_c.h"
...

确实,每个模块的头文件都不在上面三个包含目录中,它们在modules文件夹中,深深嵌套在modules\{module}\include\opencv2\{module}\{module}.hpp这样复杂的目录结构中,所以我必须手动添加每个包含目录。这似乎可行,但是非常耗时,尤其是在更改某些内容时,并且在编译 Matlab MEX 程序时变得非常复杂,因为在 Matlab 中没有属性表或包含目录的简单管理之类的东西。我不明白为什么每个新版本都越来越难以正确配置 OpenCV...

所以,我的问题是:我做错了吗?也许是 CMake 配置(我使用了所有默认值,编译器 VS10 x64)?缺少新版本 OpenCV 的文档,Setup OpenCV-2.3 for Visual Studio 2010 等帖子描述了更简单的过程和目录结构...

【问题讨论】:

    标签: visual-studio-2010 opencv mex


    【解决方案1】:

    听起来您没有在 Visual Studio 中构建 INSTALL 目标。你只构建ALL_BUILD吗?

    【讨论】:

    • 这行得通,谢谢。是的,我只构建了ALL_BUILD 目标。构建INSTALL 目标可以解决问题,但是includebinlib 目录现在位于OpenCV\build\install 文件夹中(我在VS 中使用了默认配置)。
    • 如果您想更改它,您需要在使用 CMake 配置构建时更改安装前缀。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-09
    相关资源
    最近更新 更多