错误:未定义对`cv :: imread(std :: string const& int)的引用' [英] error: undefined reference to `cv::imread(std::string const&, int)'

查看:1238
本文介绍了错误:未定义对`cv :: imread(std :: string const& int)的引用'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是Qt的新手,我有一个项目需要在Qt中配置OpenCV,我试图在Qt中运行一个简单的代码,但出现此错误未定义对cv::imread(std::string const&, int)的引用" 这是我的代码...

I'm new to Qt and I have a project that needs to configure OpenCV in Qt , I tried to run a simple code in Qt but I got this error "undefined reference to cv::imread(std::string const&, int)" and here is my code...

#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"

using namespace cv;

int main(){
Mat src,gray;
src=imread("C:/Users/user/Desktop/wood-pattern.png",1);
imshow("gg",src);
cvWaitKey(0);
return 0;
}

而我的source.pro是

and my source.pro is

#-------------------------------------------------
#
# Project created by QtCreator 2014-08-24T20:38:56
#
#-------------------------------------------------
INCLUDEPATH += C:\opencv\opencv2.4.9\build\include\
CONFIG(release,debug|release)
{
LIBS += C:\opencv\opencv2.4.9\build\x86\vc11\lib\opencv_calib3d249.lib \
        C:\opencv\opencv2.4.9\build\x86\vc11\lib\opencv_contrib249.lib \
        C:\opencv\opencv2.4.9\build\x86\vc11\lib\opencv_core249.lib \
        C:\opencv\opencv2.4.9\build\x86\vc11\lib\opencv_features2d249.lib \
        C:\opencv\opencv2.4.9\build\x86\vc11\lib\opencv_flann249.lib \
        C:\opencv\opencv2.4.9\build\x86\vc11\lib\opencv_gpu249.lib \
        C:\opencv\opencv2.4.9\build\x86\vc11\lib\opencv_highgui249.lib \
        C:\opencv\opencv2.4.9\build\x86\vc11\lib\opencv_imgproc249.lib \
        C:\opencv\opencv2.4.9\build\x86\vc11\lib\opencv_legacy249.lib \
        C:\opencv\opencv2.4.9\build\x86\vc11\lib\opencv_ml249.lib \
        C:\opencv\opencv2.4.9\build\x86\vc11\lib\opencv_objdetect249.lib \
        C:\opencv\opencv2.4.9\build\x86\vc11\lib\opencv_ts249.lib \
        C:\opencv\opencv2.4.9\build\x86\vc11\lib\opencv_video249.lib
        }
CONFIG(debug,debug|release)
       {
LIBS += C:\opencv\opencv2.4.9\build\x64\vc11\lib\opencv_calib3d249.lib \
        C:\opencv\opencv2.4.9\build\x64\vc11\lib\opencv_contrib249.lib \
        C:\opencv\opencv2.4.9\build\x64\vc11\lib\opencv_core249.lib \
        C:\opencv\opencv2.4.9\build\x64\vc11\lib\opencv_features2d249.lib \
        C:\opencv\opencv2.4.9\build\x64\vc11\lib\opencv_flann249.lib \
        C:\opencv\opencv2.4.9\build\x64\vc11\lib\opencv_gpu249.lib \
        C:\opencv\opencv2.4.9\build\x64\vc11\lib\opencv_highgui249.lib \
        C:\opencv\opencv2.4.9\build\x64\vc11\lib\opencv_imgproc249.lib \
        C:\opencv\opencv2.4.9\build\x64\vc11\lib\opencv_legacy249.lib \
        C:\opencv\opencv2.4.9\build\x64\vc11\lib\opencv_ml249.lib \
        C:\opencv\opencv2.4.9\build\x64\vc11\lib\opencv_objdetect249.lib \
        C:\opencv\opencv2.4.9\build\x64\vc11\lib\opencv_ts249.lib \
        C:\opencv\opencv2.4.9\build\x64\vc11\lib\opencv_video249.lib \
}
QT       += core

QT       -= gui

TARGET = Source
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app


SOURCES += main.cpp

我看到了所有答案,但是它们没有用. 我的Qt是32位,我的Windows是64位. 我认为我的配置有误.我遵循了许多教程,但是它们不是针对OpenCV 2.4.9的,所以请帮助我...

I saw all the answers about but they didn't work. my Qt is 32bit and my Windows is 64bit. I think my configuration is wrong. I followed many tutorial but they weren't for OpenCV 2.4.9 so please help me ...

推荐答案

查看pkg-config opencv --libs的输出以找出缺少的库,然后将它们添加到配置中.

See output of pkg-config opencv --libs to find out what libraries you're missing, then add them to your config.

对我来说,完整的图书馆清单是

For me, the full list of libraries is

/usr/lib64/libopencv_calib3d.so.2.4.8
/usr/lib64/libopencv_contrib.so.2.4.8
/usr/lib64/libopencv_core.so.2.4.8
/usr/lib64/libopencv_features2d.so.2.4.8
/usr/lib64/libopencv_flann.so.2.4.8
/usr/lib64/libopencv_gpu.so.2.4.8
/usr/lib64/libopencv_highgui.so.2.4.8
/usr/lib64/libopencv_imgproc.so.2.4.8
/usr/lib64/libopencv_legacy.so.2.4.8
/usr/lib64/libopencv_ml.so.2.4.8
/usr/lib64/libopencv_nonfree.so.2.4.8    # you don't have this one
/usr/lib64/libopencv_objdetect.so.2.4.8
/usr/lib64/libopencv_photo.so.2.4.8      # this one
/usr/lib64/libopencv_stitching.so.2.4.8  # this one
/usr/lib64/libopencv_superres.so.2.4.8   # and this one
/usr/lib64/libopencv_ts.a
/usr/lib64/libopencv_video.so.2.4.8

这篇关于错误:未定义对`cv :: imread(std :: string const& int)的引用'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆