在 Ubuntu 12.04 中编译和链接 OpenCV

2024-01-21

我刚刚花了令人沮丧的很长一段时间让 openCV 在 Ubuntu 12.04 中正确链接,并认为我会分享我学到的东西以造福他人。

OpenCV 现已在 Ubuntu 存储库中提供,如下所示

sudo apt-get install libopencv-dev

这很棒,但我相信(如果我错了,请纠正我)这个版本的 opencv 对库有不同的命名约定。主要区别在于,在 C++ 中,include 行应为

#include "opencv2/opencv.hpp"

这将使您的代码编译为对象但不链接。另一个区别是静态库也已重命名为libcv* to libopencv*。例如,二进制文件现在可以位于

/usr/lib/libopencv_core.so
/usr/lib/libopencv_highgui.so
.
.
.

为了解决这个问题,我需要通过将编译器命令更改为来显式告诉链接器新的库名称

g++ main.cpp -lopencv_core -lopencv_highgui ...

或者在CMake中

target_link_libraries(main opencv_core opencv_highgui ...)

我希望这有帮助。如果有人比我了解更多,我很想知道这里发生了什么。

-Mike


就我个人而言,我使用“pkg-config”来获取编译标志。

g++ `pkg-config --cflags opencv` main.c `pkg-config --libs opencv` -o main

主要示例:

#include <stdio.h>
#include <cv.h>

int main(void)
{
    printf("%s\r\n", CV_VERSION);
    printf("%u.%u.%u\r\n", CV_MAJOR_VERSION, CV_MINOR_VERSION, CV_SUBMINOR_VERSION);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Ubuntu 12.04 中编译和链接 OpenCV 的相关文章

随机推荐

  • 当弹出窗口打开时禁用后台的所有内容

    我正在开发一个基于 HTML JQuery 和 CSS 的网页 我想在其中使用简单的 div 标签打开弹出窗口 我想在弹出窗口打开时禁用后台的所有内容 这意味着虽然弹出 div 对用户可见 但他或她不应该能够单击网页上的任何其他内容 弹出窗
  • 画布中的鼠标偏移 [fabric.js]

    我已经阅读了 3 5 个关于鼠标偏移的主题 但我仍然不明白哪里混乱了 就我而言 60 时一切正常 另外40 的鼠标是偏移的 有时对象位置与鼠标行为无关 IE 和 Chrome 是最混乱的 我尝试编辑样式表和父 div 但没有任何结果 最糟糕
  • 对象没有 hasOwnProperty 方法(即未定义)- IE8

    这看起来很奇怪 这是我在IE8控制台中的实验 typeof obj1 object obj1 hasOwnProperty typeof obj2 object obj2 hasOwnProperty undefined 关于什么可能导致这
  • 向 App Store 提交 iPhone 应用程序的流程? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 是否需要先支付 99 美元才能观看视频以向 App Store 提交 iPhone 应用程序 还是可以在任何地方免费获得 您可以加入开发者计划并免费观
  • Python正则表达式在集合内匹配

    测试时http gskinner com RegExr http gskinner com RegExr 在线正则表达式测试器 正则表达式 jpg bmp 当 jpg 或 bmp 存在时返回结果 但是 当我在 python 中运行此正则表达
  • SSRS 2005 缺少 Microsoft.ReportingServices.Interfaces.dll

    我在 c program files SQL Server 90 Tools Binn 中缺少此 DLL 引用 我假设这是因为我没有安装 2005 客户端 我安装了 2005 年的所有服务 数据库实例 报告服务实例 SSAS 和 SSIS
  • 持续更新文件

    最终 我需要将 Spotify API 中的信息提供给应用程序 以显示 当前歌曲 信息 包括提示时间 因此需要不断轮询 API 并更新应用程序轮询的数据源 我仍在尝试从流而不是文件的角度来思考数据 所以我想出了这个小实验来了解如何不断更新文
  • PM2 - 语法错误:严格模式之外尚不支持块范围声明

    我目前正在 Ubuntu 服务器上安装 NodeJS 服务 该应用程序是用 CoffeeScript 编写的 并且可以自行运行良好 这就是我设置项目的方式 cd test project nvm use v4 9 1 npm install
  • Zeroinfl“系统在计算上是奇异的”,而预测变量没有相关性

    我正在尝试对一年中工人缺勤天数的计数数据 因变量 进行建模 我有一组预测变量 包括有关工人 有关他们的工作等的信息 其中大多数是分类变量 因此 需要估计大量系数 83 但由于我有超过 600 000 行 我认为这应该不会有问题 此外 我的数
  • 当你调用一个包含yield的函数时会发生什么?

    I read here https stackoverflow com questions 19302530 python generator send function purpose 60042174 noredirect 1 comm
  • 如何创建支持 Ruby 的 shell 命令?

    我正在创建一个 gem 我希望能够在其中使用 shell 命令来执行 gem 中的功能 在更简单的上下文中 我需要创建一个 shell 脚本 该脚本在触发 shell 命令时执行带有选项的 Ruby 函数 做到这一点最简单的方法是什么 例如
  • std::tuple 和标准布局

    如果所有成员std tuple are of 标准布局类型 https stackoverflow com a 7189821 734069 就是它std tuple本身标准布局 用户定义的复制构造函数的存在使其变得不平凡 但我想知道它是否
  • 如何显示wordpress页面内容?

    我知道这真的很简单 但由于某种原因我没有想到 而且谷歌今天也没有帮助我 我想输出页面内容 该怎么做 我以为是这样的 Marc B 感谢您的评论 帮助我发现了这一点 p Sorry no posts matched your criteria
  • 是否可以扁平化 MongoDB 结果查询?

    我的 MongoDB 集合中有一个深度嵌套的集合 当我运行以下查询时 db countries findOne data country neighbor name 1 id 0 我最终在这里得到这个嵌套结果 data country ne
  • 使用 ImageMagick 打开随机 jpeg 的 Shell 脚本

    我有一大堆 jpeg 我想编写一个 shell 脚本 随机选择 5 个图像 然后使用 imageMagick 将它们放入蒙太奇中 然后打开这个蒙太奇文件 我希望这个过程每 10 秒发生一次 我试过这个脚本 for f in jpg do s
  • Windows上构建的PyQt:DLL加载失败:找不到指定的过程

    我尝试在 Windows 7x64 上从源代码 下载了二进制 Qt 5 8 0 构建 PyQt 我通过本教程做到了 https stackoverflow com a 40779370 2726900 https stackoverflow
  • 错误:条目中的空值:incrementalFolder=null

    我在 gradle 构建中遇到以下错误 错误 条目中的空值 incrementalFolder null 我怎样才能解决这个问题 我同意马拉维略 辛加的回答 这似乎是 gradle 中的一个错误 我找到了另一个解决方案here https
  • 如何按给定数量复制数组中的对象,ES6 及更高版本

    我正在尝试转换一个对象数组 如果对象属性数量大于 1 我将返回重复的对象 const objects id 1 name Scissor price 2 quantity 3 id 2 name Hat price 6 5 quantity
  • 将共享库编译成程序?

    我编写了一个程序 它使用我的系统上安装的共享库 这个库很少安装在其他系统上 如何编译我的程序以便不需要在其他系统上安装该库 我有可用的库的源代码 最好的办法是什么 其他系统当然具有相同的架构和操作系统 将其编译为静态库并将其链接到可执行文件
  • 在 Ubuntu 12.04 中编译和链接 OpenCV

    我刚刚花了令人沮丧的很长一段时间让 openCV 在 Ubuntu 12 04 中正确链接 并认为我会分享我学到的东西以造福他人 OpenCV 现已在 Ubuntu 存储库中提供 如下所示 sudo apt get install libo