Qt5:Xcb Xau符号未解析

rah*_*hul 5 linux qt centos qt5

在安装支持XCB的Qt5期间 ./configure -prefix $ PWD/qtbase -opensource -nomake tests -qpa xcb -qt-xcb失败,因为它无法链接到libXau和libXdmcp

/usr/local/lib/libxcb.a(xcb_auth.o): In function `get_authptr':
/users/salunkrj/libxcb-1.9/src/xcb_auth.c:163: undefined reference to `XauGetBestAuthByAddr'
/usr/local/lib/libxcb.a(xcb_auth.o): In function `_xcb_get_auth_info':
/users/salunkrj/libxcb-1.9/src/xcb_auth.c:377: undefined reference to `XauDisposeAuth'
/usr/local/lib/libxcb.a(xcb_auth.o): In function `compute_auth':
/users/salunkrj/libxcb-1.9/src/xcb_auth.c:256: undefined reference to `XdmcpWrap'
/usr/local/lib/libxcb.a(xcb_auth.o): In function `_xcb_get_auth_info':
/users/salunkrj/libxcb-1.9/src/xcb_auth.c:369: undefined reference to `XauDisposeAuth'
collect2: ld returned 1 exit status
gmake: *** [xcb] Error 1
xcb disabled.
The test for linking against libxcb failed!
You might need to install dependency packages for libxcb.
Run Code Online (Sandbox Code Playgroud)

libXau:XauDisposeAuth和XauGetBestAuthByAddr的符号名称确实存在并在我执行查找时显示,LD_LIBRARY_PATH包含/ usr/local/lib

nm /usr/local/lib/libXau.a | grep "XauGetBestAuthByAddr\|XauDisposeAuth"
0000000000000000 T XauDisposeAuth
                 U XauDisposeAuth
                 U XauDisposeAuth
0000000000000030 T XauGetBestAuthByAddr
Run Code Online (Sandbox Code Playgroud)

libXdmcp:Xdmcp似乎没有符号.nm libXdmcp.so | grep XdmcpWrap nm:libXdmcp.so:没有符号

在运行configure以帮助解析libXau/libXdmcp符号时,我需要提及哪些具体内容?

OS - CentOS5.6内核 - 2.6.18-238.9.1.el5-x86_64 Qt5.0.0 - opensource

Ala*_*rey 0

就我而言,我必须将 -lXau 添加到我的 makefile 中。在 OpenBSD 下,而不是在 Linux 下。我正在并行地开发同一个程序,当我将最新版本复制到 OpenBSD 时,我遇到了这个问题。

Xau就是Xauth,我不是故意用的。Xau 和 xauth 都有手册页,但它们更多地与连接到 X 服务器的授权有关,而不是大多数人在安全方面可能想到的。

在配置阶段,您可能会在 LDFLAGS 中放入 -lXau。