【问题标题】:QT can't find openCV's libsQT 找不到 openCV 的库
【发布时间】:2015-03-28 10:02:56
【问题描述】:

我已经通过this 指令安装了OpenCV。

我使用 OpenCV 并通过 cmake 构建代码 - 一切正常。 但现在我正在尝试使用 QT 中的 OpenCV,我收到如下错误:

 error: undefined reference to `cvCreateCameraCapture'

OpenCV 中的所有函数都出现相同的错误。

我尝试在 .pro 中添加此代码:

INCLUDEPATH += /usr/local/include/opencv2
LIBS += -L/usr/local/lib
LIBS += -lopencv_core
LIBS += -lopencv_imgproc
LIBS += -lopencv_highgui
LIBS += -lopencv_ml
LIBS += -lopencv_video
LIBS += -lopencv_features2d
LIBS += -lopencv_calib3d
LIBS += -lopencv_objdetect
LIBS += -lopencv_contrib
LIBS += -lopencv_legacy
LIBS += -lopencv_flann

但这行不通。 目录/usr/local/include/opencv2 存在且不为空。

那么,怎么了?

【问题讨论】:

  • LIBS += pkg-config --libs opencv
  • @Kiran,谢谢!你帮了我!但是,QT 说他不知道 pkg-config,我写了 LIBS = pkg-config --libs opencv。它解决了我的问题。
  • 此站点出现格式错误。 “=”之后的所有内容都必须用引号引起来。

标签: c++ qt opencv


【解决方案1】:

将此添加到 .pro 文件中:

LIBS += "pkg-config --libs opencv"         

【讨论】:

  • 亲爱的 Downvoter,答案已得到 OP 的感谢。请在进一步投反对票之前阅读有问题的 OP 的 cmets,或对投反对票的原因发表评论。
【解决方案2】:

你得到一个链接器错误,所以编译是正确的。为了将链接库目录和链接库正确添加到您的 .pro 文件中,您应该在控制台发出如下命令:

用户名@linux-host:~> echo $(pkg-config --libs opencv)

然后您应该阅读下面一行中的一长串库:

-lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_nonfree -lopencv_objdetect -lopencv_ocl -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videostab /usr/lib64/libXext.so / usr/lib64/libX11.so /usr/lib64/libICE.so /usr/lib64/libSM.so /usr/lib64/libGL.so /usr/lib64/libGLU.so -lrt -lpthread -lm -ldl

在您获得包含所有库和选项的这一长串字符串后,将其插入到 .pro 文件中,如下所示:

LIBS += -lopencv_calib3d -l... ...插入所有字符串,如上所示!

保存 .pro 文件,重新运行 qmake 并再次运行 make。链接错误应该已经消失了。

如果问题没有消失或显示其他链接错误,请在您的 opencv 编译目录(和子目录)中找到所有扩展名为 .pc 的文件,并将它们以 root 身份复制到目录 /usr/share/pkgconfig/

然后再次发出上述命令并在 .pro 文件中插入正确的字符串序列,以识别 LIBS += 行中的库选项并保存 .pro 文件,重新运行 qmake 并重新运行 make。

【讨论】:

    猜你喜欢
    • 2016-02-11
    • 2016-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 2015-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多