Mac 上 Qt Creator 中的 openCV
Posted
技术标签:
【中文标题】Mac 上 Qt Creator 中的 openCV【英文标题】:openCV in Qt Creator on Mac 【发布时间】:2015-07-06 18:58:29 【问题描述】:我是 C++ 新手,所以这可能是一个简单的修复,但即使在阅读了 Stack Overflow 关于 openCV 和 Qt 创建者的许多帖子后,我也无法运行我的程序。这是我第 4 天尝试让 openCV 在 Qt creator 中工作,所以任何帮助都将不胜感激!
我知道 openCV 已安装并在我的计算机上运行,因为我可以通过在终端中运行 g++ pkg-config --libs --cflags opencv -o name name.cpp
来使用它构建和运行程序,只要我不尝试在 Qt creator 中使用 openCV。我通过 Homebrew 安装了 openCV,并从其网站下载了 Qt creator。我还通过在终端中运行“brew install qt”安装了 qt。
我尝试通过编辑项目文件将 openCV 链接到我的 Qt 项目,该文件现在显示为:
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = opencvTestQT2
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
QT_CONFIG -= no-pkg-config
CONFIG += link_pkgconfig
PKGCONFIG += opencv
但是在尝试运行它时,我得到了错误:
opencv development package not found
我也尝试在我的项目文件中添加如下行:
INCLUDEPATH += /usr/local/Cellar/opencv/2.4.11_1/include/
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.10
LIBS += -L/usr/local/Cellar/opencv/2.4.11_1/lib -lopencv_imgcodecs -lopencv_highgui
但它们都不允许构建我的程序。
我正在使用运行版本 10.10.4、openCV 2.4 和 Qt Creator 3.4.2 的 Mac,以防万一。
提前致谢
【问题讨论】:
你能试试更多的库吗'-lopencv_core -lopencv_features2d -lopencv_highgui -lopencv_shape -lopencv_ts -lopencv_imgproc -lopencv_photo -lopencv_imgcodecs' 感谢您的建议。在项目文件中添加您使用“LIBS += -L/usr/local/Cellar/opencv/2.4.11_1/lib -lopencv_core -lopencv_features2d -lopencv_highgui -lopencv_shape -lopencv_ts -lopencv_imgproc -lopencv_photo -lopencv_imgcodecs”行提到的库后,我仍然 git 错误“找不到 Opencv 开发包”。我尝试添加所有 openCV 库,但仍然没有任何变化。我想知道 Qt creator 是否找不到我的 openCV 库,或者我是否需要以某种特定方式将它们链接到 Qt creator,而不是我已经拥有的方式。 【参考方案1】:点击左侧窗格中的项目 -> 构建 & 运行 -> 在构建环境中,添加路径到 /usr/local/bin 以便 qt 创建者找到 pkg-config。
【讨论】:
【参考方案2】:正如 Dae Choi 所说,找不到 pkg-config。执行该程序将起作用。请记住也要更新运行。
此错误将显示:
Starting /Users/sgb/build-imagenes-Desktop_Qt_5_9_1_clang_64bit-
Debug/NBasic.app/Contents/MacOS/NBasic...
dyld: Symbol not found: __cg_jpeg_resync_to_restart
Referenced from:
/System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
Expected in: /usr/local/lib/libJPEG.dylib
in /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
The program has unexpectedly finished.
只需在 Projects -> Build & Run -> Run -> DYLD_LIBRARY_PATH 中更新以取消设置。保存并再次编译。您也可以查看其他线程。
Qt application throws “dyld: Symbol not found: __cg_jpeg_resync_to_restart”
【讨论】:
以上是关于Mac 上 Qt Creator 中的 openCV的主要内容,如果未能解决你的问题,请参考以下文章
Qt Creator 卡在 Mac 操作系统上的“启动调试器”中
Qt安装Mac m1 pro上安装QT编译,Qt Creator配置,第一个简单程序记录
在 Mac OS 下使用 Qt-creator 调试时如何进入 Qt 的源代码