2015-11-29 161 views
0

我安装了opencv 3.0并解压。然后我打开一个项目并添加目录,库到属性,但是当我编写简单的测试程序时,它不起作用。我遵循教程。Visual Studio 2015和opencv 3.0

#include "stdafx.h" 

#include <iostream> 
#include <opencv2/opencv.hpp> 

void main() 
{ 
    std::cout << "OpenCV Version: " << CV_VERSION << std::endl; 
} 

无法打开源文件 “opencv2/opencv.hpp”

标识符 “CV_VERSION” 未定义

C2100非法间接

+0

OpenCV 3.0未附带VS 2015的预建二进制文件。您需要重新编译它。你能显示你的Include和Library目录吗? – Miki

回答

1

更新opencv的3.1刚刚发布,并预生成库现在支持VCl 4为Visual Studio 2015。只需从主页面下载Windows的opencv。提取opencv并使用标准教程在Windows上安装opencv:使用预先构建的库进行安装。在包含头文件之前,必须通过setx -m OPENCV_DIR命令和环境变量来设置环境路径。路径编辑器只需将%OPENCV_DIR%\ bin设置为DLL所在的文件夹即可。

如果你想在Visual Studio 2015中使用prebuild库。你需要一些libs relater到旧版本。

一个选项是安装可再发行组件较老的Visual Studio的软件包。并将此库直接从ProgramFiles/MicrosoftSDK/Windows/version/libs包含在您的应用程序中。这个路径只是在安装过程中找到的。 这是Visual Studio 2013在这里Package Here

更好的是用cmake和visual studio重新编译opencv。

首先使用Visual Studio 2015编译器从源代码构建opencv。这可以降低计算机中旧框架丢失的风险。您需要将vc14目录作为您的库的源代码。预构建库仅适用于VS 2012和2013,这是您的opencv/build/x64或x86下的VC11和VC12 libs文件夹。 Speps很简单。

  1. 下载CMake的,安装OpenCV的
  2. 下载源代码,解压
  3. 运行cmake并添加源和目标目录的目录为您的项目。
  4. 配置Cmake首先选择正确的编译器VS2015。有很多选择。首先尝试默认的一个。
  5. 运行Cmake。结果是目标目录下的Visual Studio 2015项目(如opencv.sln)。
  6. 打开opencv.sln项目
  7. 使用Visual Studio 2015构建此项目。 结果是包含libs的VC14目录。

查看图片教程。 Tutorial Here

+0

这可以运行SIFT和SURF吗? – Abc

+0

请尽快回覆。谢谢 – Abc

+0

这篇文章是关于somethink别的。 Surf功能现在可在contrib分支#include“opencv2/xfeatures2d/nonfree.hpp”中获得,并且您需要在启用contrib的情况下进行cmake。 添加一个额外的包括:#include 在代码的开头添加一个初始化函数:initModule_nonfree(); – globalex