在linux上编译一个基本的OpenCV + Cuda程序

2024-04-22

我过去在linux上使用过opencv,但没有使用过cuda。几个月来我一直在与以下编译错误作斗争。在尝试了许多解决方案后,我放弃并使用 Windows。不过,我真的很想在 Linux 上工作。这是我用来编译 opencv_gpu 网站上给出的阈值示例的命令。

nvcc `pkg-config --libs opencv` -L. -L/usr/local/cuda/lib -lcuda -lcudart `pkg-config --cflags opencv` -I. -I/usr/local/cuda/include threshold.cpp -o threshold

这是错误:

/tmp/tmpxft_0000171b_00000000-1_threshold.o: In function `main':
threshold.cpp:(.text+0x124): undefined reference to `cv::gpu::Stream::Null()'
threshold.cpp:(.text+0x156): undefined reference to `cv::gpu::threshold(cv::gpu::GpuMat const&, cv::gpu::GpuMat&, double, double, int, cv::gpu::Stream&)'
threshold.cpp:(.text+0x16d): undefined reference to `cv::gpu::GpuMat::download(cv::Mat&) const'
/tmp/tmpxft_0000171b_00000000-1_threshold.o: In function `cv::gpu::GpuMat::GpuMat(cv::Mat const&)':
threshold.cpp:(.text._ZN2cv3gpu6GpuMatC1ERKNS_3MatE[cv::gpu::GpuMat::GpuMat(cv::Mat const&)]+0x63): undefined reference to `cv::gpu::GpuMat::upload(cv::Mat const&)'
/tmp/tmpxft_0000171b_00000000-1_threshold.o: In function `cv::gpu::GpuMat::~GpuMat()':
threshold.cpp:(.text._ZN2cv3gpu6GpuMatD1Ev[cv::gpu::GpuMat::~GpuMat()]+0xd): undefined reference to `cv::gpu::GpuMat::release()'                                        
collect2: ld returned 1 exit status                                                                                                                                     
make: *** [all] Error 1   

为了帮助你,我必须下载并安装CUDA 4.0(使用驱动4.0.21)然后下载并编译OpenCV 2.3对于我的 Macbook Pro,Mac OS X 10.6.8.

示例代码来自OpenCV_GPU http://opencv.willowgarage.com/wiki/OpenCV_GPU通过以下方式在我的机器上成功编译:

g++ threshold.cpp -o threshold `pkg-config --cflags --libs opencv` -lopencv_gpu

你错过了旗帜-lopencv_gpu,不包括在pkg 配置.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在linux上编译一个基本的OpenCV + Cuda程序 的相关文章

随机推荐

  • Android 8 本机库崩溃

    自从 Android 8 Oreo 推出以来 我们的应用程序一直在不同的地方崩溃 所有 Play 商店崩溃报告都显示本机崩溃 最常出现的一个似乎是在本机库中 最常崩溃的设备是 Google Pixel Pixel XL 也出现过一些崩溃 我
  • Javascript 随机定位 Div 且不重叠它们

    我一直在研究一个随机的概念想法 即让 6 个云出现在一个页面上 并从数据库中提取随机评论 这部分很简单 但我发现确保 6 朵云不相互重叠非常困难 我对碰撞检测进行了很多研究 发现在将新的 随机定位 div 放置在页面上之前 没有真正合适的方
  • 我的车库里真的有一辆车吗? [复制]

    这个问题在这里已经有答案了 我是 Java 编程的新手 正在尝试掌握 OOP 所以我构建了这个抽象类 public abstract class Vehicle 和2个子类 public class Car extends Vehicle
  • 无法解析“adb version”的输出

    我使用 Ubuntu 11 10 和 Eclipse 进行 Android 开发 我已经创建了一个新项目 但它包含错误 Failed to parse the output of adb version 如果有人知道我该如何解决这个问题 我
  • 如何在swift中插入子层?

    我正在创建一个视图并向其添加渐变层 我有这个 import UIKit import QuartzCore let rect CGRect CGRectMake 0 0 320 100 var vista UIView init frame
  • 如何在 Clojure 中更新原子的向量元素?

    我有一个矢量原子 我想更新一个本身就是地图的条目 def vector atom atom swap vector atom conj id 1 name myname 我该如何只更新该成员 在可变的 Java 领域的思维方式中 我会做这样
  • Windows窗体中如何设置滚动条

    我在 net中有一个winform 我放置了太多控件并设置了表单的高度和宽度 但是 当我编译表单并减小表单的大小时 我的控件不可见 当我增加表单的大小时 控件在自己的位置可见 我希望在减小表单大小时出现滚动条 并在增加表单大小时使滚动条消失
  • 将网页中的表格导入 Excel

    我只有中高级的Excel水平和中级的VBA与Excel背景 我想要做的是从链接中显示的网页导入表格 http www admission unmsm edu pe res20130914 A 011 0 html http www admi
  • 如何使用 Spring Batch 进行聚合?

    我想弄清楚如何使用 Spring Batch 进行聚合 例如 我有一个包含姓名列表的 CSV 文件 name John Amy John Ryan 我想要文本文件中的名称计数 name count Amy 1 John 2 Ryan 1 根
  • 如何在错误的 API url 上返回 404? (ASP.NET 核心 + SPA)

    我需要在错误的 api 调用上返回 404 以便我可以在客户端 Angular 5 上为用户创建正确的响应 目前后端返回状态码200和index html 这会导致前端出现json解析错误 我使用 ASP NET Core 2 1 和 An
  • 如何在 JavaScript 中解析文本中的单词?

    在文本页面中 我想检查每个单词 当时阅读每个单词的最佳方式是什么 找到被空格包围的单词很容易 但是一旦你开始解析文本中的单词 它就会变得复杂 是否有一些已经构建的东西可以解析正则表达式或其他方法中的单词 而不是定义我自己的从文本中解析单词的
  • 您应该将应用程序属性放在 rebar erlang 应用程序中的什么位置?

    新手问题 我编写了第一个基于 rebar 的 erlang 应用程序 我想配置一些基本属性 例如服务器主机等 放置它们的最佳位置在哪里以及如何将它们加载到应用程序中 接下来的步骤是发布版本并在其中创建节点 节点在独立的 Erlang VM
  • 有人有使用私有 Launchpad 实例的经验吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 有人已经在自己的服务器上安装并运行启动板了吗 我想要建议 因为我在网上找不到任何建议 此外 官方团队还对拥有自己的启动板发表了可怕的言论 他们还
  • 将google云函数连接到oracle数据库

    有谁知道如何将谷歌云函数 Python 连接到Oracle数据库 我尝试在云函数中导入cx Oracle库 但它显示一个错误 函数加载错误 DPI 1047 无法加载 Oracle 客户端库 libclntsh so 无法打开共享对象文件
  • 使用多个管道从 Python 执行 Shell 脚本

    我想在 python 脚本中执行以下 Shell 命令 dom myserver cat etc xen myserver cfg grep limited cut d f2 tr d 我有这个 dom myserver limit sub
  • 如何设置 GMT 日期的时、分、秒

    我有日期对象 我想从我的日期中清除小时 分钟和秒 请帮助我如何在 Javascript 中执行此操作 我做错了吗 var date Date Fri 26 Sep 2014 18 30 00 GMT date setHours 0 date
  • 如何模拟 AngularJS 指令的控制器

    给定一个具有外部控制器的指令 directive d1 function return controller d1controller restrict E link function scope element attributes co
  • 为什么长整型和小数之间的等于不可交换?

    我在 linqpad 中运行以下代码 long x long MaxValue decimal y x x Dump y Dump x y Dump y x Dump Object Equals x y Dump Object Equals
  • PyMongo find() 使用 $or 和 $regex 进行查询

    有一个 MongoDB 文档集合 其中包含有关书籍的信息 我需要使用以下标准查找文档 header包含子串 OR author包含子串 在 mongo shell 中 我使用这个查询效果很好 db books find or author
  • 在linux上编译一个基本的OpenCV + Cuda程序

    我过去在linux上使用过opencv 但没有使用过cuda 几个月来我一直在与以下编译错误作斗争 在尝试了许多解决方案后 我放弃并使用 Windows 不过 我真的很想在 Linux 上工作 这是我用来编译 opencv gpu 网站上给