ubuntu移植glib库

对于嵌入式开发人员来说,ubuntu 是一个应用范围相当广的linux操作系统了。通过该开源系统,实现一些列我们所想实现的众多开发。然而纯净的ubuntu只是携带了很少的开源库,要想在实际开发中使用到适合的开源库或资源,我们就要在我们的ubuntu系统中移植我们所需要的资源库。

glib库是Linux平台下最常用的C语言函数库,它具有很好的可移植性和实用性。可以在多个平台下使用,比如Linux、Unix、Windows等。glib库封装了基础C语言的众多功能,使得开发人员不用浪费过多的精力在基础功能实现上,该库包含了很好用的线程,线程池,队列,同步队列,内存管理,io通道,错误报告等众多功能,我们可以在移植好glib库后拿来即用,省去好多麻烦。

ubuntu移植glib库方法步骤:

  1. 下载源码包并解压
    百度盘连接: https://pan.baidu.com/s/14NyovYt-0GEuJ6MyLo_PVQ
    提取码:udle
    解压命令: tar -xvf glib-2.57.3
  2. 进入源码解压路径,直接对该库进行配置 ./configure
    发现配置文件不适用 ,需要重新配置以下此配置文件
  3. 下载一个自动配置工具,自动编译生成configure文件
    apt-get install autoconf 安装自动编译工具
    autoconf configure.ac 利用自动配置工具生成configure
    提示错误: configure.ac:66: error: possibly undefined macro:
    AM_INIT_AUTOMAKE If this token and others are legitimate,
    please use m4_pattern_allow. See the Autoconf documentation.
  4. 下载一些列需要的文件
    autoreconf --install
  5. 重新生成configure文件
    autoconf configure.ac
    成功生成configure文件
  6. 重新配置glib库 配置文件
    ./configure
    报错:No package ‘libffi’ found
  7. 下载lifffi装到系统上,
    解压 “lifffi”源码包并安装
    autoconf configure.ac 生成configure执行文件
    ./configure
    make 报错:makeinfo: 未找到命令
    apt-get install texinfo
    makeinstall
  8. 重新配置glib库配置文件
    ./configure
    报错:error: *** Could not find libmount
  9. 下载libmount源码并安装
    下载libmount源码 apt-get source libmount-dev
    配置libmount配置文件
    ./cdonfigure
    报错: configure: error: ncurses or ncursesw selected, but library not found (–without-ncurses to disable)
    apt-get install libncurses5-dev libncursesw5-dev 安装库
    配置libmount配置文件
    ./cdonfigure 成功
    make 报错: undefined reference to sysfs_init' ./configure --prefix=/home/zhoudy/util-linux-2.20.1/ --target=i686 --host=i686 make 报错:undefined reference toget_linux_version’

发现安装依赖库还是比较多的,所以尝其他方法。

可以通过直接加载库文件的形式来使用glib库,有可能由于2.57.3 的版本功能完善,所以安装依赖比较多,对于使用者来说,一般的功能没什么差别,如果想知道版本之间的差别,可以在官网上看介绍,合理适用版本。

在网上查看资料,发现glib可以通过直接引用其头文件的方式加以使用,,这样的方式极大的方便了开发者的开发,省去了配置时间,非常实用。我自己下载了glib_2.44.1 版本用于安装。

装载glib_2.44.1

  1. 将glib库头文件直接拷贝到用户头文件文件夹内,或者编译头文件路径加上该路径
    cp -r /usr/local/include/glib-2.0/* /usr/include/
    cp /usr/local/lib/glib-2.0/include/glibconfig.h /usr/include/

  2. 编写一个小程序哦那个来测试glib是否可用:
    #include <glib.h>
    int main()
    {
    g_printf(“test glib\n”);
    return 0;
    }

  3. 编译程序测试:
    gcc test1.c -o test -lglib-2.0 -levent

运行测试文件,./test 发现能够打印出test glib ,证明glib可用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我若成精

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值