【问题标题】:Bluetooth programming in Linux - cross compiler issueLinux 中的蓝牙编程 - 交叉编译器问题
【发布时间】:2016-04-20 07:11:45
【问题描述】:

我已经安装了

sudo apt-get install libbluetooth-dev

在我的环境中安装蓝牙包。

因此,使用以下命令可以成功使用 gcc 编译蓝牙代码。

gcc -o bt bt.c -lbluetooth

但是,当我尝试使用交叉编译器编译源代码时

$CC -o bt2 bt.c -lbluetooth

我收到了致命错误:

fatal error: bluetooth/bluetooth.h: No such file or directory
compilation terminated

我做错了什么或者我需要将这个库链接到这个交叉编译器吗?

谢谢

【问题讨论】:

  • 我猜你的交叉编译器带有完整的工具链和 SDK。这个蓝牙包是否安装到您的 SDK 中?
  • @LPs 你给了一个很好的提示。我在 SDK 目录 /lntel-quark-wrs-linux/usr/include/debug/bluez4-4.101-r3/bluez-4.101/lib/bluetooth.h 中找到了 bluetooth.h --- 你指的是这个吗?
  • 似乎是,但您必须检查是否与 PC 上已安装的 i386/x64 版本的标题相同。如果文件是正确的,您必须将 #include 更改为您的代码。以匹配您的 SDK 的路径。
  • 并且您必须检查您的 SDK 是否提供了相同的库。我的意思是,例如libBluetooth.so 必须安装在 SDK /usr/libSDK /usr/local/lib
  • @LPs 谢谢。您是否介意将您的回复移至答案,以便我检查。

标签: c bluetooth compiler-errors cross-platform


【解决方案1】:

我猜你的交叉编译器带有完整的toolchainSDK

您必须检查,例如libBluetooth.so 安装到您的 SDK 中的 /usr/lib/usr/local/lib 文件夹下,并且正确的标题(作为为 i386/x64 平台安装的标题)存在于 SDK 中。

如果存在headerlib,您必须将#include 更改为您的代码以匹配您的SDK 的路径。

【讨论】:

    猜你喜欢
    • 2020-08-29
    • 2011-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多