飞哥教你如何交叉编译glib

工具:libffi-3.0.13

           zlib-1.2.8

           glib-2.40.0

一.zlib的编译和安装

tar xvaf  zlib-1.2.8.tar.gz
cd zlib-1.2.8

./configure --prefix=/usr/local/bluez/bluez CC=arm-linux-gnueabihf-gcc --host=arm-linux

等待配置完成:
make
make install

之后还有一步非常重要:

cd /usr/local/bluez/bluez/lib/ipkgconfig/
cp zlib.pc zlib-arm.pc
cp zlib-arm.pc /usr/lib/pkconfig/

然后输入pkg-config --cflags zlib-arm则会输出环境路径 说明成功

同时还要记得

将/usr/local/bluez/bluez/lib/下的libz.so libz.so.1.2.8 libz.so.1拷贝到交叉编译器所在的lib库目录,具体与libc.so在同一个目录

二.libffi的编译和安装
cd libffi-3.2.1

CC=arm-linux-gnueabihf-gcc
./configure --prefix=/usr/local/bluez/bluez

make
make insatall

同一zlib的编译和安装一样完成后续操作

三.glib的编译和安装

cd glib-2.40.0

新建glib.cache文件

vim glib.cache

复制以下内容

glib_cv_long_long_format=ll
glib_cv_stack_grows=no
glib_cv_have_strlcpy=no
glib_cv_have_qsort_r=yes
glib_cv_va_val_copy=yes
glib_cv_uscore=no
glib_cv_rtldglobal_broken=no
ac_cv_func_posix_getpwuid_r=yes
ac_cv_func_posix_getgrgid_r=yes

然后执行

./configure --prefix=/opt/glib/glib-2.40.0/output CC=arm-linux-gnueabihf-gcc --host=arm-linux LIBFFI_CFLAGS="-I/usr/local/bluez5/bluez5/lib/libffi-3.0.13/include" LIBFFI_LIBS="-L/usr/local/bluez5/bluez5/lib -lffi" ZLIB_CFLAGS="-I/opt/zlib/zlib-1.2.8/output/include" ZLIB_LIBS="-L/opt/zlib/zlib-1.2.8/output/lib -lz" --cache-file=glib.cache  --disable-selinux  --disable-xattr --disable-libelf

最后make&&make Install

 

可以看看下面的网页

https://blog.csdn.net/ruipeng_liu/article/details/81476991

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值