【问题标题】:main.cpp:-1: error: undefined reference to `cvLoadImage'main.cpp:-1: 错误:未定义对“cvLoadImage”的引用
【发布时间】:2016-11-13 22:47:22
【问题描述】:

我想在 qt creator 中编译简单的程序,但是我在使用 opencv 时遇到了问题。 Os- Ubuntu 16.04 .pro 文件 qt

LIBS += -lopencv_core -lopencv_imgproc -lopencv_highgui

主程序

#include <opencv/cv.h>
#include <opencv/highgui.h>
#include <stdlib.h>
#include <stdio.h>

IplImage* image = 0;
IplImage* src = 0;

int main()
{
    char* filename = "Image0.jpg";
    image = cvLoadImage(filename,1);
    src = cvCloneImage(image);
    return 0;
}

编译错误 main.cpp:-1: error: undefined reference to `cvLoadImage'。 我做错了什么?

【问题讨论】:

  • 如果将LIBS += ... 替换为PKGCONFIG += opencv 会怎样?
  • 由于这是一个QtCreator 问题,与Qt 框架毫无关系(甚至不确定Qt 是否被使用),我更改了标签。
  • PKGCONFIG += opencv 没有帮助。只有“cvLoadImage”有问题。程序编译正常,如果我删除了这个命令:char* filename = "Image0.jpg"; src = cvCloneImage(image)

标签: c++ opencv qt-creator


【解决方案1】:

您似乎没有正确链接 OpenCV 库(或者由于某种原因链接不起作用),代码本身正在编译。

查看answers 的类似问题,这很可能会对您有所帮助。

顺便说一句,cvLoadImageIplImage 来自旧的 C-API,请避免使用它们。请改用cv::Mat img=cv::imread("img.png")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-23
    • 1970-01-01
    • 1970-01-01
    • 2012-11-24
    • 1970-01-01
    • 2016-10-03
    • 2021-09-07
    • 2012-02-27
    相关资源
    最近更新 更多