arm linux dbus,[zz]交叉编译D-bus出错问题(cygwin1.5.1环境)

arm-linux-gcc交叉编译dbus库

1、dbus-1.0.2(http://dbus.freedesktop.org/releases/dbus)

echo

ac_cv_have_abstract_sockets=yes>arm-linux.cache

然后

CC=arm-linux-gcc ./configure

--host=arm-linux --cache-file=arm-linux.cache

make &&

make install

2、若xml函数找不到、未定义 需下载libxml2-2.6.8(http://xmlsoft.org/sources/old/)

,最好下载这一版本,其他的有时交叉编译不正常。若交叉编译libxml2-2.6.8时,有可能需要zlib库(方法在下面讲)

先装xml,版本libxml2-2.6.8,这个库一定要安装到/usr/local/arm/3.3.2/arm-linux而不是安装到/usr/local/arm/3.3.2下,否则会出现如下错误:

make[2]: Entering

directory `/root/download/dbus-1.0.2/bus'

/bin/sh ../libtool

--tag=CC --mode=link arm-linux-gcc -g -O2 -Wall -Wchar-subscripts

-Wmissing-declarations -Wmissing-prototypes -Wnested-externs

-Wpointer-arith -Wcast-align -Wfloat-equal -Wsign-compare

-fno-common -fPIC -o

dbus-daemon activation.o bus.o config-parser.o connection.o

desktop-file.o dir-watch-dnotify.o dispatch.o driver.o expirelist.o

policy.o selinux.o services.o signals.o test.o utils.o

config-loader-libxml.o main.o -lxml2 -lpthread -lz

-lm -lpthread ../dbus/libdbus-convenience.la

arm-linux-gcc -g -O2 -Wall

-Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes

-Wnested-externs -Wpointer-arith -Wcast-align -Wfloat-equal

-Wsign-compare -fno-common -fPIC -o dbus-daemon activation.o bus.o

config-parser.o connection.o desktop-file.o dir-watch-dnotify.o

dispatch.o driver.o expirelist.o policy.o selinux.o services.o

signals.o test.o utils.o config-loader-libxml.o main.o -lxml2 -lz

-lm -lpthread ../dbus/.libs/libdbus-convenience.a

/usr/local/arm/3.3.2/lib/gcc-lib/arm-linux/3.3.2/../../../../arm-linux/bin/ld:

cannot find -lxml2

collect2: ld returned 1

exit status

make[2]: *** [dbus-daemon]

Error 1

make[2]: Leaving directory

`/root/download/dbus-1.0.2/bus'

make[1]: ***

[all-recursive] Error 1

make[1]: Leaving directory

`/root/download/dbus-1.0.2'

make: *** [all] Error

2

./configure --shared

make LDSHARED="arm-linux-gcc -shared -Wl,-soname,libz.so.1"

CC_FOR_BUILD="arm-linux-gcc" CC="arm-linux-gcc" LD="arm-linux-ld"

CPP="arm-linux-g++ -E" AR="arm-linux-ar rc"

prefix="/usr/local/arm/2.95.3" CFLAGS="-fPIC" libz.so.1.2.3 libz.a

千万不要执行make install ,操作系统会崩溃

拷贝zconf.h zlib.h到/usr/local/arm/2.95.3/arm-linux/include/

拷贝 libz.so* 到/usr/local/arm/2.95.3/arm-linux/lib/

http://blog.csdn.net/xuxinshao/archive/2008/01/24/2063876.aspx

4、make时可能找不到

-lX11,这是一个库,应该是图形的,感觉用不到,就把dbus-1.0.2\tools下的makefile中的DBUS_X_LIBS

= -L/usr/X11R6/lib -lX11改为DBUS_X_LIBS = -L/usr/X11R6/lib

并且该相应dbus-launch.c dbus-launch.h

dbus-launch-x11.c的宏定义,使他们不包括x11的函数如:dbus-launch.c中将:

#ifdef DBUS_BUILD_X11

改为:

#undef DBUS_BUILD_X11

#ifdef DBUS_BUILD_X11

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值