0

嗨,我是程序员的初学者,所以提前感谢您耐心理解我写的内容。我正在尝试交叉编译蓝牙库。设备是一个手臂处理器板,

我的交叉编译器是 arm-none-linux-gnueabi-gcc

我已经成功安装了zlib、libffi、GLib,我想我所做的只是改变了交叉编译器的名称..(或改变目录)

所以我必须交叉编译

  1. expat-2.1.0.tar.gz

  2. dbus-1.8.0.tar.gz

  3. libical-1.0.tar.gz

但是,当我尝试通过以下方式安装 expat XML 解析器时

  1. 下载 expat-2.1.0.tar.gz
  2. 解压缩并进入该目录执行 ./configure --host=arm-none-linux-gnueabi --prefix=/usr/arm-none-linux-gnueabi
  3. 制作
  4. sudo make install (这里我遇到了另一个问题,libtool 无法运行 arm-none-linux-gnueabi-ranlib。我发现目录手动添加 /opt/arm-2009q3/bin 到 libtool 文件中的代码)

所以到这里一切似乎都很好,但是当我尝试配置 dbus-1.8.0.tar.gz(在解压缩之后)时,麻烦就来了。

配置:警告:交叉编译时无法检查抽象套接字,请使用 --enable-abstract-sockets 检查 -lexpat 中的 XML_ParserCreate_MM ... 未配置:错误:明确请求 expat 但未找到 expat

一旦我按照推荐的方向清除第一行,但我不知道新的两个问题。

我已经尝试过低版本的 expat(expat 2.0.1.tar.gz) 等等,但我无法解决它。我承认我不完全理解我在做什么,只是我只需复制和粘贴。所以请宽容帮助我解决这个问题..谢谢

ps 如果有人有在嵌入式 linux 中使用蓝牙的参考站点,请告诉我!

4

1 回答 1

0

此错误通常意味着构建正在寻找 pkgconfig 及其库的错误位置(可能是查看主机 pkgconfig 而不是交叉编译树)。尝试配置PKG_CONFIG_LIBDIRPKG_CONFIG_SYSROOT_DIR设置。前者应设置为交叉编译构建放置其.pc文件的位置,后者应设置为交叉编译 sysroot。

于 2015-05-31T23:16:26.000 回答