【问题标题】:openCV 2.4.9 compilation error with CUDA 6.5CUDA 6.5 的 openCV 2.4.9 编译错误
【发布时间】:2014-11-25 03:03:08
【问题描述】:

我正在运行安装了 CUDA 6.5 的 ubuntu 14.04 系统。我正在尝试使用 OpenCV 库的特征匹配的 gpu 实现,我的 openCV 库版本是 2.4.9。 cmake .. 没问题,但是当我想制作项目时,它给了我这样的错误:

> /usr/local/include/opencv2/gpu/gpu.hpp:432:29: error: ‘vector’ does
> not name a type  CV_EXPORTS void merge(const vector<GpuMat>& src,
> GpuMat& dst, Stream& stream = Stream::Null());
>                              ^ /usr/local/include/opencv2/gpu/gpu.hpp:432:35: error: expected ‘,’ or
> ‘...’ before ‘<’ token  CV_EXPORTS void merge(const vector<GpuMat>&
> src, GpuMat& dst, Stream& stream = Stream::Null());

你能帮我解决这个问题吗?谢谢...

【问题讨论】:

  • 你是#include &lt;vector&gt;using std::vector;吗?
  • 谢谢。你的意思是在我自己的代码中?因为错误在 gpu.hpp..
  • 尝试在关闭 CUDA 的情况下进行编译,看看问题是否仍然存在。我知道这不是您所追求的,但这将有助于缩小问题范围。
  • 谢谢。还是一样的错误。
  • 我们需要查看编译器调用,而不仅仅是错误。 如果您使用的是g++,那么听起来gpu.hpp 缺少&lt;vector&gt; 的包含或不是using std::vector

标签: c++ opencv ubuntu cuda gpu


【解决方案1】:

放 使用命名空间标准;在包含 gpu.hpp 之前

例子

using namespace std;
#include <opencv2/gpu/gpu.hpp>

这对我有用

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2014-07-23
  • 1970-01-01
  • 1970-01-01
  • 2012-05-23
  • 1970-01-01
  • 2011-02-21
  • 2016-12-16
  • 2015-01-11
相关资源
最近更新 更多