【发布时间】:2014-05-18 05:42:53
【问题描述】:
我在 OSX 上的 Qt 5.2 中使用 openCV 2.4.6.1。一切都很好,但是当我尝试使用 cv::CascadeClassifier 时,出现链接错误,表明该符号不是为 x86_64 架构定义的。有什么办法解决这个问题吗?谢谢。
TEMPLATE = app
TARGET = camera
QT += multimedia multimediawidgets
INCLUDEPATH += /usr/local/Cellar/opencv/2.4.6.1/include \
LIBS += -L/usr/local/Cellar/opencv/2.4.6.1/lib \
-lopencv_core \
-lopencv_imgproc \
-lopencv_features2d \
-lopencv_highgui
HEADERS = \
camera.h \
imagesettings.h \
videosettings.h \
SOURCES = \
main.cpp \
camera.cpp \
imagesettings.cpp \
videosettings.cpp \
FORMS += \
camera.ui \
videosettings.ui \
imagesettings.ui
target.path = $$[QT_INSTALL_EXAMPLES]/multimediawidgets/camera
INSTALLS += target
QT+=widgets
【问题讨论】:
-
你能展示你的项目文件吗?
-
@LaszloPapp 嗨,我将其添加到问题中。
-
实际上我的朋友使用 cv::imread() 也出现了同样的错误。我猜 OpenCV 中的一些函数会导致错误
-
能否请您也粘贴违规代码?
-
我现在才知道。 cv::CascadeClassifier 位于 OpenCV 的 objdetect.hpp 中,所以我需要在 .pro 中添加 -lopencv_objdetect。谢谢@LaszloPapp