PDA

View Full Version : symbol lookup error: /usr/lib/libQtOpenGL.so.4: undefined symbol +opencv



Aladin
10th May 2011, 14:58
Hi
I've installed opencv2.2 from source and tried to compile an example but i get this example :
symbol lookup error: /usr/lib/libQtOpenGL.so.4: undefined symbol:_ZN14QWidgetPrivate15checkWindowRoleEv
this is the main.cpp file :


#include <QtGui/QApplication>
#include "widget.h"
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include "cv.h"
#include <cvaux.h>
#include <highgui.h>
#include <cxcore.h>


int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//Widget w;
//w.show();
IplImage* img = 0;
int height,width,step,channels;
uchar *data;
int i,j,k;

if(argc<2){
printf("Usage: main <image-file-name>\n\7");
exit(0);
}

// load an image
img=cvLoadImage("/home/aladin/image1.png");
if(!img){
printf("Could not load image file: %s\n","/home/aladin/image1.png");
exit(0);
}

// get the image data
height = img->height;
width = img->width;
step = img->widthStep;
channels = img->nChannels;
data = (uchar *)img->imageData;
printf("Processing a %dx%d image with %d channels\n",height,width,channels);

// create a window
cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE);
cvMoveWindow("mainWin", 100, 100);

// invert the image
for(i=0;i<height;i++) for(j=0;j<width;j++) for(k=0;k<channels;k++)
data[i*step+j*channels+k]=255-data[i*step+j*channels+k];

// show the image
cvShowImage("mainWin", img );

// wait for a key
cvWaitKey(0);

// release the image
cvReleaseImage(&img );

return a.exec();
}



and this is the .pro file :


#-------------------------------------------------
#
# Project created by QtCreator 2011-05-10T14:34:50
#
#-------------------------------------------------

QT += core gui

TARGET = opencv2
TEMPLATE = app
target.path=/usr/local/bin
INSTALLS=target
INCLUDEPATH +=/usr/local/include/opencv/
LIBS +=-lopencv_core -lopencv_imgproc -lopencv_calib3d -lopencv_video -lopencv_features2d -lopencv_ml -lopencv_highgui -lopencv_objdetect -lopencv_contrib -lopencv_legacy

SOURCES += main.cpp\
widget.cpp

HEADERS += widget.h




please can someone help me to fix this ?

Thanks in advance.