- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
bluez编译移植
Dbus移植步骤?
1.进入dbus的目录 运行./configure --host=arm-linux --prefix=/bluetooth/dbus
2.出现错误can not run test program while cross compiling
[mystic@moolenaar]$ . checking for getpeereid... no
checking abstract socket namespace... configure: error: cannot run test program while cross compiling
See `config.log for more details.
执行./configure时要在宿主系统中运行一些测试程序,因为是交叉编译所以这个测试是一定通不过的。不过没问题,我们可以在configure时指定cache-file文件来屏障掉测试程序,在下面编译glib包时会遇到同样的问题。
?
处理方法:
在源码包根目录下执行
[mystic@moolenaar]$ echo ac_cv_have_abstract_sockets=yes arm-linux.cache
或者自己新建一个文件,vim arm-linux.cache
在里面输入:ac_cv_have_abstract_sockets=yes
[mystic@moolenaar]$ ./configure --host=arm-linux --prefix=/bluetooth/dbus --cache-file=arm-linux.cache
?参数解释:--prefix指定编译好的文件存放的路径,默认会放到/usr/bin下
--host 指定编译器的类型,这里指定为arm-linux交叉编译,默认是本机的gcc编译
--cache 指定测试的信息写的地方,这里是写到了arm-linux.cache里面
一会会提示缺少xml库, 下载libxlm2,解压后:
./configure –-prefix=/bluetooth/libxml –-host=arm-linux
make -make install
编译完成后一定要检查libxml/lib下的库文件的格式是否是ARM的,否则不能用。查看的方式是 file libxml.so.2.6.so(库名),出现ARM表示是交叉编译的,出现i686等信息表示是本机编译的。
2. 编译dbus,cannot find -lX11
[mystic@moolenaar]$ make
arm-linux/bin/ld: cannot find -lX11
collect2: ld returned 1 exit status
make[2]: *** [dbus-launch]?error 1
make[2]: Leaving directory `/3.3.2/dbus-1.0.2/tools
make[1]: *** [all-recursive]?error 1
make[1]: Leaving directory `/3.3.2/dbus-1.0.2
make: *** [all]?error 2
在开发板上不需要X Server. configure直接屏蔽掉。
?
[mystic@moolenaar]$ ./configure --host=arm-linux --prefix=/bluez/dbus --cache-file=arm-linux.cache --without-xBluetooth/dbus的lib下,把里面的所有动态库都拷贝到linux的根目录/usr/lib下,记得用cp的时候加上-av参数。还有把lib/pkgconfig下的dbus-1.pc拷贝到/usr/lib/pkgconfig。拷贝这些文件是为了后面的bluez编译的需要。
Glib移植文档
1.进入的目录 运行./configure --host=arm-linux --prefix=/bluetooth/
2.出现错误can not run test program while cross compilingvim arm-linux.cache,里面输入如下内容:
ac_cv_type_long_long=yes
glib_cv_stack_grows=no
glib_cv_uscore=no
ac_cv_func_posix_getpwuid_r=yes
ac_cv_func_posix_getgrgid_r=yes
?
. 运行./configure --prefix=/bluetooth/glib --host=arm-linu
文档评论(0)