在 OSX 上的 QT 中设置 OpenCV

2023-11-27

我正在尝试设置OpenCV跟...共事QT在 OSX 10.7.5/MacbookPro 2.5 Ghz Intel Core 2 Duo 上。我在这里看到了一些相关的问题(如何在QtCreator中链接opencv并使用Qt库 and 如何在 OSX 中使用 QT 设置 OpenCV?)但没有太多细节。在 QT 网站和我的网络搜索中,所有信息似乎都与 Windows 或 Linux 相关。


我在下面列出了我的设置和代码。当我运行代码时,我收到错误::-1: error: symbol(s) not found for architecture x86_64

这是否意味着它找不到东西,因为路径错误或者因为我可能已经为 x86_32 构建了 openCV?有没有办法检查后者?我对部分配置和设置过程不太了解。


Update 2

控制台输出如下 - 也许错误很明显?

02:44:38: Running steps for project RP_openCV_01...
02:44:38: Configuration unchanged, skipping qmake step.
02:44:38: Starting: "/usr/bin/make" 
clang++ -headerpad_max_install_names -mmacosx-version-min=10.6 -o RP_openCV_01 main.o   -L/usr/local/lib -1ibopencv_core.2.4.6,dylib -1ibopencv_imgproc.2.4.6.dylib -F/Users/rise/Qt5.0.2/5.0.2/clang_64/lib -framework QtCore 
clang: warning: argument unused during compilation: '-1ibopencv_core.2.4.6,dylib'
clang: warning: argument unused during compilation: '-1ibopencv_imgproc.2.4.6.dylib'
Undefined symbols for architecture x86_64:
  "cv::_InputArray::_InputArray(cv::Mat const&)", referenced from:
      _main in main.o
  "cv::namedWindow(std::string const&, int)", referenced from:
      _main in main.o
  "cv::Mat::deallocate()", referenced from:
      _main in main.o
  "cv::imread(std::string const&, int)", referenced from:
      _main in main.o
  "cv::imshow(std::string const&, cv::_InputArray const&)", referenced from:
      _main in main.o
  "cv::waitKey(int)", referenced from:
      _main in main.o
  "cv::fastFree(void*)", referenced from:
      _main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [RP_openCV_01] Error 1
02:44:38: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project RP_openCV_01 (kit: Desktop Qt 5.0.2 clang 64bit)
When executing step 'Make'

到目前为止我所拥有的(TL;博士):

  • 从源代码构建并安装了最新版本的 openCV (2.4.6),并使用一些命令行程序对其进行了测试。

  • 安装了最新版本的 QT (5.1) 并且能够运行所有示例等。

  • 指定项目文件中的路径(如下)

QT       += core
QT       -= gui

TARGET = RP_openCV_01
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app
SOURCES += main.cpp

INCLUDEPATH += /usr/local/include\
LIBS += -L/usr/local/lib
  • 尝试在项目设置中指定路径(如下)。我添加了/usr/local/include and /usr/local/lib

enter image description here

main.cpp中的简单示例代码

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>

int main() {

    // read an image
    cv::Mat image= cv::imread("dog.jpg");
    // create image window named "My Image"
    cv::namedWindow("My Image");
    // show the image on window
    cv::imshow("My Image", image);
    // wait key for 5000 ms
    cv::waitKey(5000);

    return 1;
}

Update 1

我根据教程尝试的另一件事是在 QT 配置文件中指定库(如下图所示)。该教程是针对 Windows 的,我不知道 OSX 是否或如何不同。 Windows 示例中的位置-1ibopencv_core246d我尝试过使用和不使用分隔句点但不使用“d”。当然,lib的全名是“libopencv_core.2.4.6.dylib”等。

这些重要的细节总是让我困惑,但在教程中通常假设人们知道这些东西。

 LIBS += -L/usr/local/lib \
     -1ibopencv_core.2.4.6 \
     -1ibopencv_imgproc.2.4.6 \
     -1ibopencv_features2d.2.4.6 \
     -1ibopencv_highgui.2.4.6

enter image description here


只是一个天真的错误

正确的声明是:

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

在 OSX 上的 QT 中设置 OpenCV 的相关文章

随机推荐

  • 如何将 WPF 窗口添加到类库项目[重复]

    这个问题在这里已经有答案了 我今天遇到了这个问题 我想将 WPF 窗口添加到现有的类库项目中 但它不存在于 添加新项 列表中 我找到了一个解决方案 只是想将其发布在这里 因为我在其他地方找不到它 解决方案是在记事本等文本编辑器中打开 csp
  • setOnKeyListener 没有响应

    我是 Android 新手 正在研究书中的待办事项列表示例 我有一个 Activity 它显示一个 EditText 和一个在其下方的 ListView 有一个 onKey 事件应该将 EditText 中的文本添加到 ListView 并
  • Pandas 相当于 Oracle Lead/Lag 函数

    首先 我对熊猫还不熟悉 但我已经爱上了它 我正在尝试实现 Oracle 中的 Lag 函数的等效项 假设您有这个 DataFrame Date Group Data 2014 05 14 09 10 00 A 1 2014 05 14 09
  • Django 按日期或小时记录到文件

    我知道 django 可以记录到一个文件 但我想知道如何在不同的时间打印到不同的文件 文件名如20150101 log 20150102 log 两个问题 我可以通过以下方式实现吗LOGGING gt filename配置 如果Q1不能 我
  • 如何在 php 中验证 google play 应用内购买?

    我希望使用 php 页面通过 google play 验证应用程序中应用程序内购买的收据 我该怎么做呢 我不是 PHP 专家 所以我不会发布任何代码 但总体过程是very直接了当 移植到 PHP 应该非常容易 您需要三件事来验证购买 您的应
  • 有没有类似Python导出的东西?

    我们一直使用 python 的导入机制来导入模块 变量和其他东西 但是 有什么可以作为导出的吗 喜欢 我们从模块导入东西 from abc import 那么我们可以像这样导出吗 to xyz export 或者 将a b c导出到prog
  • 如何在 Java 中表示整数区间?

    我们都知道数学中的区间 例如 4 如何在 Java 中表示这些数学区间 例如 4 和 3 之间的数字 4 3 2 3 等 检查 apache commons langIntRange 因此 如果您想检查一个数字是否在给定的间隔 范围 内 您
  • 我使用 Django 应用程序在 heroku 中收到错误 R14(超出内存配额)

    我在 Heroku 平台上为 Django 应用程序运行 3 个测功机 它工作正常 1 5 年 两周以来 我经常收到错误 R14 超出内存配额 错误 我应该怎么做才能避免这个错误 我如何监控问题 2015 01 27T10 34 01 85
  • 类变量字典未在 python 2.7 中使用 pickle.dump 保存

    我正在使用 pickle 通过转储根来保存对象图 当我加载根时 它具有所有实例变量和连接的对象节点 但是 我将所有节点保存在字典类型的类变量中 类变量在保存之前已满 但在我解封数据后它是空的 这是我正在使用的类 class Page cra
  • 如何在 swift Xcode 中以编程方式绑定/配对蓝牙 LE 设备?

    我目前正在尝试开发一个应用程序 允许用户通过单击按钮绑定到外围设备 并且将自动输入密码 是否可以使用 swift 以编程方式绑定和删除绑定 每当您尝试写入或读取 BLE 设备上的特征时 都会启动配对 但是 如果设备未设置为需要身份验证和 或
  • jar 文件文件夹中的资源列表?

    通常我从 jar 文件中读取资源 如下所示 getClassLoader getResource pTextPath pLang xml 我需要从 jar 文件中的已知文件夹中读取具有特定名称的所有资源 例如 从以下位置读取 xml 插件
  • 使用哪种 Android 数据存储技术?

    Android 文档有以下选项 但没有解释每个选项最适合什么情况 每种方法的优点和缺点是什么 例如在什么情况下 SQL 会比共享首选项更好 共享偏好设置 内部存储器 外置储存 SQLite数据库 网络连接 Android 中的不同存储选项
  • 为什么可以使用字符串文字来初始化 unsigned char 数组,但不能初始化 unsigned char 指针?

    我尝试过编译gcc Wall pedantic errors std c89下面的代码 int main unsigned char a foo unsigned char b foo unsigned char c unsigned ch
  • 大写输入字段的指令

    我想使用指令将所有输入数据转换为大写 为了实现这一目标 我创建了这个自定义指令 Directive selector appToUpperCase export class ToUpperCaseDirective constructor
  • 如何将字符串和组件作为 prop 传递?

    我可以通过这样的罚款
  • 有没有办法同时运行 2 个 NSAnimation 对象?

    我创建了2个NSAnimation用另一个视图翻转视图的对象 我想同时运行 2 个这样的动画 我无法使用NSViewAnimation 因为现在是关于对任何视图属性进行动画处理 下面是动画创作 self animation Transiti
  • 同时进行相机预览和处理

    我正在设计一个具有 OpenGL 处理管道 着色器集合 的应用程序 同时要求最终用户看到未加工的相机预览 举个例子 假设您想要向用户显示相机预览 同时计算从相机接收到的场景中红色对象的数量 但是您用来计算对象的任何着色器 例如色调过滤 等等
  • 在 PHP 中获取多维数组的交集

    初始点 我有一个多维数组 如下例所示 array array role 1 gt array 0 gt value 2 1 gt value 3 role 2 gt array 0 gt value 1 1 gt value 2 role
  • 进行动态但方形布局的简单方法

    我正在使用一个GridView显示一堆视图 这些视图本质上是LinearLayouts 我想要LinearLayouts全部都是方形的 但我也希望它们的大小是动态的 也就是说 有两列 我想要LinearLayouts根据屏幕的大小进行拉伸
  • 在 OSX 上的 QT 中设置 OpenCV

    我正在尝试设置OpenCV跟 共事QT在 OSX 10 7 5 MacbookPro 2 5 Ghz Intel Core 2 Duo 上 我在这里看到了一些相关的问题 如何在QtCreator中链接opencv并使用Qt库 and 如何在