wmctrl编译与使用(-)

从 https://launchpad.net/ubuntu/vivid/+source/wmctrl  下载源码包,包括三个文件


wmctrl_1.07-7.dsc1.7 KiB4a42ab2d5acfee709bdd3079d076fc54
wmctrl_1.07.orig.tar.gz85.8 KiB1fe3c7a2caa6071e071ba34f587e1555
wmctrl_1.07-7.debian.tar.gz4.8 KiBce8649ad63886685b9d076ded8e0ea39

.dsc文件是对文件包信息的描述。在调用dpkg-source命令,根据dsc文件中的信息,将源码包解压到同名目录中,应用程序的源代码就在这里。tar.gz文件是源码包.


dpkg-source   -x  wmctrl_1.07-7.dsc  解压源码包;

进入目录,执行./configure

提示缺少 libxmu相关组件,从Ubuntu组件中心下载安装

sudo dpkg -i libxmu6_1.1.1-1_i386.deb
sudo dpkg -i libxmu-headers_1.1.1-1_all.deb
sudo dpkg -i libxmu-dev_1.1.1-1_i386.deb


编译出错:
main.c:37:18: fatal error: glib.h: 没有那个文件或目录
 #include <glib.h>

找到 glib.h路径,修改Makefile,

DEFAULT_INCLUDES =  -I. -I$(srcdir) -I/usr/include/glib-2.0/ 

再次执行Make,

提示

/usr/include/glib-2.0/glib/gtypes.h:34:24: fatal error: glibconfig.h: 没有那个文件或目录
 #include <glibconfig.h> 

找到glibconfig.h 再次修改Makefile,
DEFAULT_INCLUDES =  -I. -I$(srcdir) -I/usr/include/glib-2.0/  -I/usr/lib/i386-linux-gnu/glib-2.0/include/

再次编译,出现很多

wmctrl-1.07/main.c:467:对‘g_locale_from_utf8’未定义的引用
wmctrl-1.07/main.c:459:对‘g_locale_to_utf8’未定义的引用
wmctrl-1.07/main.c:473:对‘g_strdup’未定义的引用
g_**函数是glib的库函数。显然,编译没有找到这个库。

修改Makefile,
LDADD =   -lSM -lICE -lX11 -lXmu  /usr/lib/i386-linux-gnu/libglib-2.0.so

再次Make,

成功编译出wmctrl。


其它:

在 ./configure时如果出现

checking for GLIB -version >= 2.0.0... no

则 apt-cache search libglib, 按照输出结果

apt-get install libglib2.0-dev














  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值