【问题标题】:OpenCV: Undefined reference to xcb_poll_for_replyOpenCV:未定义对 xcb_poll_for_reply 的引用
【发布时间】:2015-07-24 20:38:24
【问题描述】:

最近,每当我尝试编译任何使用开放式 cv 库的程序时,我都会收到以下错误,我使用 g++ 进行编译:

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

无论文件的内容如何(我已经检查了几周前可以运行的程序),我总是收到以下错误:

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

您知道可能是什么原因吗? (以及如何解决)

编译失败的示例程序:

#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;
}

【问题讨论】:

  • 您最近是否改变了使用 g++ 进行编译的方式?
  • @ross 我在工作中使用前端机器,所以我不确定 g++ 编译是否有任何变化......有什么方法可以让我检查是否有一个?

标签: c++ opencv compiler-errors xcb


【解决方案1】:

-lxcb 添加到您的命令行(这将指示链接器与 xcb 库进行链接)。请确保 xcb 的 64b 版本位于链接器路径中(您始终可以通过 -L 开关明确放置)

【讨论】:

  • 我尝试了你的建议,得到了:/path/lib/libxcb-shm.so.0: undefined reference to xcb_get_reply_fds/path/lib/libxcb-shm.so.0: undefined reference to xcb_send_fd
【解决方案2】:

该错误是由对 libX11.so.6 所做的一些更改引起的,与 FE 机器支持人员讨论并修复了它。

【讨论】:

    猜你喜欢
    • 2012-06-23
    • 2016-04-02
    • 2014-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-26
    相关资源
    最近更新 更多