编译libxcb遇到的坑
官网可以下载源码
libxcb-1.15.tar
xcb-util-cursor-0.1.4.tar
xcb-util-image-0.4.1.tar
xcb-util-renderutil-0.3.10.tar
xcb-util-0.4.1.tar
xcb-util-errors-1.0.1.tar
xcb-util-keysyms-0.4.1.tar
xcb-util-wm-0.4.2.tar
为了不污染操作系统的环境我把编译的xcb安装在$HOME/usr/xcb
编译命令一般是:
./configure --prefix=$HOME/usr/xcb
make
make install
编译是有先后顺序的,libxcb要依赖xcb-proto,所以需要先编译xcb-proto
这里要注意,xcb-proto编译后生成的是pkg-config用的*.pc
文件,而不是*.so
因为我没有安装到系统默认路径,所以,要为pkg-config添加环境变量,才能被找到
export PKG_CONFIG_PATH=$HOME/usr/xcb/lib/pkgconfig:$PKG_CONFIG_PATH
然后才开始编译lib-xcb就正常编译了
上述所有内容都编译完成后,同样配置下环境变量,让所有的so文件可以被找到,头文件也可以被找到
#xcb
export LIBRARY_PATH=$HOME/usr/xcb/lib:$LIBRARY_PATH
export LD_LIBRARY_PATH=$HOME/usr/xcb/lib:$LD_LIBRARY_PATH
export C_INCLUDE_PATH=$HOME/usr/xcb/include:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=$HOME/usr/xcb/include:$CPLUS_INCLUDE_PATH
#包含pkg的搜索路径
export PKG_CONFIG_PATH=$HOME/usr/xcb/lib/pkgconfig:$PKG_CONFIG_PATH