尝试编译 Gtk,configure 停止并显示错误消息:
configure: error: *** XInput2 extension not found. Check 'config.log' for more details.
不幸的是,config.log 不包含任何额外信息,它只是说:
configure:23053: error: *** XInput2 extension not found. Check 'config.log' for more details.
起初我不知道为什么,因为我传递 libXI 来配置:
PKG_CONFIG_PATH=....很多东西://media/34GB/Arquivos-de-Programas-Linux/xorg/Xi-1.5.0/lib/pkgconfig/
所以找到它应该没有问题
然后我打开文件configure.ac并查找XInput检测测试。就在那里
if $PKG_CONFIG --exists "xi" ; then
X_PACKAGES="$X_PACKAGES xi"
GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xi"
...
...
fi
fi
AS_IF([test "x$have_xinput2" != "xyes"],
[AC_MSG_ERROR([*** XInput2 extension not found. Check 'config.log' for more details.])])
为了尝试了解发生了什么,我编辑了该文件并添加了:
AC_MSG_ERROR([TRUTA])" if $PKG_CONFIG --exists "xi" ;然后
我执行autoconf然后配置。由于我的错误消息没有显示,第一行不起作用?但为什么?我使用 PKG_CONFIG_PATH 将 libXI 的 .pc 文件传递给它,它应该可以工作,因为它适用于近十个其他库
那么有什么问题呢。这有可能是错误的库吗?或者说版本不对?
阅读 libXI 检测测试,它提到了 XInput2.h 文件,该文件位于:
包括/X11/扩展/XInput2.h
Xi 目录中,
所以乍一看,我会说我使用的是正确的库。
PS:在系统目录上创建 libXI 的 pc 文件的符号链接
/usr/lib/pkgconfig/
和
/usr/share/pkgconfig/
没有用 有人能解释一下这个问题吗?
答案1
找到解决方案
如果我更换:
如果 $PKG_CONFIG --存在“xi”;然后
在configure.ac上,通过:
if $PKG_CONFIG --print-errors --exists "xi" ; then
然后执行 autoconf,它将基于这个“新”configure.ac 生成一个新的配置,该配置将打印应传递给配置的所有必需库。
首先是 libXi 的 .pc 文件,然后是 pc。 Inputproto 文件(我必须下载并安装)等等。我还必须将 libXi 的包含目录添加到 CPPFLAGS,以便它可以找到 XInput2.h。
我的最终配置命令是:
LD_LIBRARY_PATH=/media/34GB/Arquivos-de-Programas-Linux/Glib-2.41.2/lib/ CPPFLAGS="-I/media/34GB/Arquivos-de-Programas-Linux/xorg/X11-1.4.4/include / -I/media/34GB/Arquivos-de-Programas-Linux/xorg/Xorgproto-2018.1/include/ -I/media/34GB/Arquivos-de-Programas-Linux/xorg/Xi-1.5.0/include/" LDFLAGS="-L/media/34GB/Arquivos-de-Programas-Linux/xorg/X11-1.4.4/lib/" ./configure --prefix=/media/34GB/Arquivos-de-Programas-Linux/Gtk+ -3.4.0 PKG_CONFIG_PATH=/media/34GB/Arquivos-de-Programas-Linux/Glib-2.41.2/lib/pkgconfig/:/media/34GB/Arquivos-de-Programas-Linux/Atk-2.15.4/lib /pkgconfig/:/media/34GB/Arquivos-de-Programas-Linux/Pango-1.30.0/lib/pkgconfig/:/media/34GB/Arquivos-de-Programas-Linux/Cairo-1.10.0/lib/pkgconfig /:/media/34GB/Arquivos-de-Programas-Linux/Gdk-pixbuf-2.30.0/lib/pkgconfig/:/media/34GB/Arquivos-de-Programas-Linux/Pixman-0.18.4/lib/pkgconfig /:/media/34GB/Arquivos-de-Programas-Linux/Fontconfig-2.8.0/lib/pkgconfig/:/media/34GB/Arquivos-de-Programas-Linux/Freetype-2.2.1/lib/pkgconfig/: /media/34GB/Arquivos-de-Programas-Linux/Png-1.2.14/lib/pkgconfig/:/media/34GB/Arquivos-de-Programas-Linux/xorg/Xi-1.5.0/lib/pkgconfig/: /media/34GB/Arquivos-de-Programas-Linux/xorg/Inputproto-1.5.0/lib/pkgconfig/:/media/34GB/Arquivos-de-Programas-Linux/xorg/X11-1.4.4/lib/pkgconfig /:/media/34GB/Arquivos-de-Programas-Linux/xorg/Xorgproto-2018.1/share/pkgconfig/:/media/34GB/Arquivos-de-Programas-Linux/xorg/Xcb-1.4/lib/pkgconfig/: /media/34GB/Arquivos-de-Programas-Linux/xorg/Pthread-stubs-0.1/lib/pkgconfig/:/media/34GB/Arquivos-de-Programas-Linux/xorg/Xau-1.0.0/lib/pkgconfig /:/media/34GB/Arquivos-de-Programas-Linux/xorg/Xext-1.1.1/lib/pkgconfig/