2015-07-24 2 views
1

À la fin je reçois l'erreur suivante chaque fois que je tente de compiler un programme qui utilise les bibliothèques de cv ouvert, j'utilise g ++ pour compiler:OpenCV: Undefined référence à xcb_poll_for_reply

g++ Example.cpp -o Ex `pkg-config opencv --cflags --libs` 

Peu importe le contenu du fichier (j'ai vérifié avec des programmes qui ont fonctionné, il y a quelques semaines) je toujours obtenir l'erreur suivante:

/usr/lib64/libX11.so.6: undefined reference to `xcb_poll_for_reply64' 
/usr/lib64/libX11.so.6: undefined reference to `xcb_wait_for_reply64' 

vous avez une idée que vous de ce qui pourrait être la cause? (Et comment y remédier)

Un exemple de programme qui ne parvient pas à compiler:

#include "path/opencv2/highgui/highgui.hpp" 
#include "path/opencv/highgui.h" 

using namespace cv; 

int main (int argc, char * argv[]) 
{ 
    Mat image = imread(argv[1], CV_LOAD_IMAGE_GRAYSCALE) ; 
    return 0; 
} 
+0

avez-vous récemment changé la façon dont vous compilez avec g ++? – ross

+0

@ross J'utilise une machine frontale à mon travail, donc je ne suis pas sûr qu'il y ait eu des changements avec la compilation g ++ ... Y a-t-il un moyen pour moi de vérifier s'il y en a eu un? – rovim

Répondre

0

Ajouter -lxcb à votre ligne de commande (ceci indique l'éditeur de liens reliant w/la bibliothèque XCB). S'il vous plaît assurez-vous que le 64b version de XCB est dans le chemin de liaison (vous pouvez toujours le mettre explicitement via le -L switch)

+0

J'ai essayé votre suggestion et j'ai obtenu: '/path/lib/libxcb-shm.so.0: référence non définie à xcb_get_reply_fds' et' /path/lib/libxcb-shm.so.0: référence non définie à xcb_send_fd' – rovim

0

L'erreur a été causée par des modifications effectuées au libX11.so.6, parlé avec le support des machines FE et ils l'ont réparé.