blueZ-5.37 交叉编译可以在arm上运行

来源:互联网 发布:js中获取父节点 编辑:程序博客网 时间:2024/06/05 23:01

    之前编译过bluez4.95的,方法没有记录,现在又要不编译5.37又要重新来一遍,中间各种依赖的库,各种坑,现在要完完全全的记录下来。

    5.37的bluez需要依赖的库expat-2.0.1.tar.gz、glib-2.45.3.tar.xz、readline-5.2.tar.gz、libical-2.0.0.tar.gz、dbus-1.10.8.tar.gz、ncurses-5.9,把这几个库搞定都不容易。其中的glib和dbus还有版本的限制,低版本的库还不行,当然版本越高越好,非常坑。

    过段时间我会把这些库文件整理下统一上传到服务器上面共大家下载。

    所谓的编译过程的问题,主要是在配置阶段,只要配置对了,基本都没什么问题了,下面主要说下是怎么配置的。


ncurses的配置和编译:

    ./configure --with-shared -host=arm-linux  -prefix=${PWD}/tmp CC="arm-linux-gnueabihf-gcc"


dbus的配置和编译:
./configure -prefix=${PWD}/tmp -host=arm-linux -with-x=no --disable-tests -enable-abstract-sockets CC="/home/lsy/ipc007_cross_complie/Ambarella_Toolchain_Linaro_2015.11/linaro-armv7ahf-2015.11-gcc5.2/bin/arm-linux-gnueabihf-gcc" CFLAGS=-I"/home/lsy/blueZ-4.95/expat-2.0.1/tmp/include" LDFLAGS=-L"/home/lsy/blueZ-4.95/expat-2.0.1/tmp/lib"


blueZ

配置blueZ前一定要先配置PKG_CONFIG_LIBDIR,以便配置是能去检测到dbus等的版本满足要求方法如下:

export PKG_CONFIG_LIBDIR=/home/lsy/blueZ-4.95/dbus-1.10.8/tmp/lib/pkgconfig:/home/lsy/blueZ-4.95/glib-2.45.3/tmp/lib/pkgconfig:/home/lsy/blueZ-4.95/libical-2.0.0/tmp/tmp/out/lib/pkgconfig


./configure -prefix=${PWD}/tmp -host=arm-linux --disable-udev --enable-library -enable-tools -enable-cups -enable-test CC="arm-linux-gnueabihf-gcc" --sysconfdir=/etc --localstatedir=/var --enable-experimental --with-systemdsystemunitdir=/lib/systemd/system --with-systemduserunitdir=/usr/lib/systemd CFLAGS="-I/home/lsy/blueZ-4.95/dbus-1.10.8/tmp/include -I/home/lsy/blueZ-4.95/readline-5.2/tmp/include" LDFLAGS="-L/home/lsy/blueZ-4.95/dbus-1.10.8/tmp/lib  -L/home/lsy/blueZ-4.95/readline-5.2/tmp/lib/ -L/home/lsy/blueZ-4.95/ncurses-5.9/tmp/lib -lncurses"


之后make && make install就行了。

有什么问题了,可以问我。






阅读全文
0 0
原创粉丝点击