如何为 NDK 工具链的 gcc 包含

2024-01-16

首先,我上次尝试将c程序编译到linux-arm架构时遇到了一个问题,以便稍后在android应用程序中使用它。我成功地做到了这一点,稍后我将写一篇关于如何使用 NDK 独立工具链的文章。

现在我终于开始工作了,我正在尝试编译一个 .c 文件,其中有一行“include bluetooth/bluetooth.h”。当我尝试编译该文件时,出现“没有这样的文件或目录”错误。我的 makefile 包含单词“-libbluetooth”。 标准 NDK gcc 库没有蓝牙支持,因此我从我的设备下载了“libbluetooth.so”,根据互联网上对该主题的简要研究,这是我使其工作所需的。我仍然遇到同样的错误。

我很高兴知道是否有人遇到过同样的问题。 感谢你 德克尔


您需要蓝牙库来链接您的程序;但要编译它,您需要适当的标头。libbluetooth.so不是 Android 官方 API 的一部分,但幸运的是你可以找到它的源代码和声明其公开的包含文件(但非官方)API,如果你下载了 AOSP 源码树,根据 Google 的指示 http://source.android.com/source/downloading.html。实际上,您对树的一小部分感兴趣:./external/bluetooth/bluez/lib。在那里你会发现bluetooth/bluetooth.h包含文件。在你的Android.mk,您将看到类似于以下内容的行:

LOCAL_C_INCLUDES += $(AOSP_ROOT)/external/bluetooth/bluez/lib
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何为 NDK 工具链的 gcc 包含 的相关文章

  • 用于在标头更改时重新编译的简单 C 项目的示例 makefile

    有谁有完整的 makefile 可以执行以下操作 如果 HEADER 文件发生更改 则重建项目 cpp 文件在 makefile 中列出 头文件未在 makefile 中列出 头文件允许与 cpp 文件具有不同的名称 部分cpp文件没有头文
  • JavaScript 错误:MVC2 视图中的条件编译已关闭

    我试图在 MVC2 视图页面中单击时调用 JavaScript 函数 a href Select a JavaScript 函数 function SelectBenefit id code alert id alert code 这里 b
  • 如何通过 Android 按钮单击运行单独的应用程序

    我尝试在 Android 应用程序中添加两个按钮 以从单独的两个应用程序订单系统和库存系统中选择一个应用程序 如图所示 我已将这两个应用程序实现为两个单独的 Android 项目 当我尝试运行此应用程序时 它会出现直到正确选择窗口 但是当按
  • 来自嵌入图像的 BitmapSource

    我的目标是在 WPF 窗口上重写 OnRender 方法中绘制图像 someImage png 它是嵌入资源 protected override void OnRender System Windows Media DrawingCont
  • wordexp 失败时我们需要调用 wordfree 吗?

    wordexp 失败时我们需要调用 wordfree 吗 在某些情况下 调用 wordfree 似乎会出现段错误 例如 当 wordfree 返回字符串为 foo bar 的错误代码时 这在手册页中并不清楚 我已经看到在某些错误情况下使用了
  • 如何在 Javascript 中连接 C# ActiveX 事件处理程序

    我尝试使用几个代码片段将 ActiveX 对象与 Javascript 事件处理程序挂钩 我无法确定为什么事件处理程序没有被调用 带有项目的 Github 存储库 https github com JesseKPhillips Csharp
  • 受信任的网络活动 - 地址栏不隐藏(Android 72 的 Chrome)

    我已经关注了this https developers google com web updates 2017 10 using twa了解如何使用受信任的 Web 活动的指南 一切正常 但地址栏仍然出现 一开始我认为这是因为当应用程序正在
  • 读取依赖步行者输出

    I am having some problems using one of the Dlls in my application and I ran dependency walker on it i am not sure how to
  • 以编程方式创建 Blob 存储容器

    我有一个要求 即在创建公司时 在我的 storageaccount 中创建关联的 blob 存储容器 并将容器名称设置为传入的字符串变量 我已尝试以下操作 public void AddCompanyStorage string subDo
  • 禁用 Android 菜单组

    我尝试使用以下代码禁用菜单组 但它不起作用 菜单项仍然启用 你能告诉我出了什么问题吗 资源 菜单 menu xml menu menu
  • fs-extra:源和目标不能相同。 (科尔多瓦)

    我在使用 cordova 构建时遇到错误 Error Source and destination must not be the same 构建系统 Ionic ionic cli 4 10 1 ionic framework ionic
  • 如何更改操作栏背景和文本颜色

    我正在使用本教程中的导航抽屉 http www androidhive info 2013 11 android sliding menu using navigation drawer http www androidhive info
  • 如何从 Windows Phone 7 模拟器获取数据

    我有一个 WP7 的单元测试框架 它在手机上运行 结果相当难以阅读 因此我将它们写入 XDocument 我的问题是 如何才能将这个 XML 文件从手机上移到我的桌面上 以便我可以实际分析结果 到目前为止 我所做的是将 Debugger B
  • 如何获取带有某个属性注释的所有属性?

    我刚刚从 Roslyn 开始 我想找到所有用属性名称 OneToOne 注释的属性 我启动了 SyntaxVisualizer 并能够获取对该节点的引用 但我想知道是否有更简单的方法来实现此目的 这就是我所拥有的 var prop docu
  • 任何人都可以清楚地告诉如何在不使用像 这样的预定义函数的情况下找到带有小数值或小数值的指数吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 例如 2 0 5 1 414 所以想要 我是 c 的新手 所以请解释简单的逻辑 如果不是复杂的逻辑也足够了 在数学中 从整数取幂到实数
  • 如何组合两个 lambda [重复]

    这个问题在这里已经有答案了 可能的重复 在 C 中组合两个 lambda 表达式 https stackoverflow com questions 1717444 combining two lamba expressions in c
  • winform c# 中的弹出窗口

    我正在开发一个需要弹出窗口的项目 但问题是我还希望能够通过表单设计器在此弹出窗口中添加文本框等 所以基本上我有一个按钮 当您单击它时 它将打开我在表单设计器中设计的另一个窗口 我一直在谷歌搜索 但还没有找到我需要的东西 所以我希望你们能帮助
  • 将对象从手机共享到 Android Wear

    我创建了一个应用程序 在此应用程序中 您拥有包含 2 个字符串 姓名和年龄 和一个位图 头像 的对象 所有内容都保存到 sqlite 数据库中 现在我希望可以在我的智能手表上访问这些对象 所以我想实现的是你可以去启动 启动应用程序并向左和向
  • 如何在 ASP.NET Core 中注入泛型的依赖关系

    我有以下存储库类 public class TestRepository Repository
  • 嵌入式linux编写AT命令

    我在向 GSM 模块写入 AT 命令时遇到问题 当我使用 minicom b 115200 D dev ttySP0 term vt100 时它工作完美 但我不知道如何在 C 代码中做同样的事情 我没有收到任何错误 但模块对命令没有反应 有

随机推荐

  • vue中如何调整图片大小

    我将图像从nodejs上传到vue 并将图像放入v卡中 但图像被截断了 如何在不剪切的情况下调整图像大小 在 v img 中使用 包含 属性
  • android:我想在 WebViewb 中使用我的自定义字体

    我想在 WebViewb 中使用我的自定义字体我的 html 文件已加载到 webView 中 但仍然没有字体我的字体有 Unicode 字符我在 android 2 2 上工作 mWebView loadUrl file android
  • Laravel Blade 模板在尝试获取非对象的属性时如何返回 null 而不是 ErrorException

    我正在编写一些 Laravel Blade 模板 并且我的模型可能包含空对象 我非常想尝试获取对象属性 如果出现错误 则返回 null 所以不必这样写 if model gt child object that may be null mo
  • 如何链接相同或不同文件夹中的html页面?

    如果 html 页面位于相同或不同的文件夹中 而无需编写完整路径 如何链接到它们 在同一文件夹中 只需使用文件名 a href thefile html my link a 在父文件夹的目录中 a href thefile html my
  • python 中的迭代

    您好 我想创建一些代码来打印一个如下所示的框 代码应该使用循环来打印一行框 使用 for i in range 5 不应该使用 IF 语句来解决这个问题 只使用一个框 如下所示 我尝试使用下面的代码 但没有产生所需的输出 请帮忙 for i
  • Firebase:自动创建/更新多个子节点

    假设我有一个带有 用户 节点和 宠物 节点的项目 当用户获得宠物时 我想将宠物的密钥添加到用户的 pets 节点 并将用户 ID 添加到宠物的 owner 节点 Example users user1 pets pet1 true pet3
  • 在 Xcode 11 中将分支合并到 master 中?

    我一定在这里遗漏了一些非常简单的东西 在早期版本的 Xcode 上 我从未遇到过将分支合并到 master 中的问题 但在使用 Xcode 11 时 我在任何项目上都没有该选项 我应该如何合并到master 谢谢 这是一个令人沮丧的 Xco
  • 使用 C# 从 Parquet 文件中读取前 100 行

    我有这些巨大的镶木地板文件 存储在一个 blob 中 有超过 60 万行 我想检索前 100 个 以便我可以将它们发送到我的客户端应用程序 这是我现在用于此功能的代码 private async Task lt Table gt getPa
  • 如何查找 Ruby 哈希的“nil”值并将其替换为“None”或 0?

    我试图深入到数组嵌套哈希迭代中的每个值并替换所有值nil值带有 无 或 0 之类的值 请参阅我的代码 它显然不起作用 在将其传递到 Rails 中的视图进行迭代和渲染之前 我需要修复此问题 我的控制器 def show results Re
  • SECURITY_ERR:调用 Canvas 的 toDataURL 方法时出现 DOM 异常 18

    当我尝试从在 Internet Explorer 和 Safari 浏览器上绘制 SVG 图像的画布检索数据 URL 时 出现以下错误 而其他浏览器都正常工作 此外 SVG 图像还包含一些
  • 使用sequelize的种子数据的不同目录

    我希望在开发和生产之间有不同的种子数据 我如何在配置中指定它 我知道在 sequelizerc我可以加载动态配置文件并指定seeders path sequelizerc const path require path module exp
  • C 中的库存程序。需要有关如何从库存中删除项目的帮助

    这是一个保存库存的程序 该程序显示一个选项菜单 除了删除条目功能之外 其他一切都很完美 我不知道如何让它删除一个功能 我放置了一个变量来查找位置 但我真的不知道如何 我输入要删除的项目名称 然后输入显示条目 它会陷入无限混乱 有人帮助我如何
  • 使用 torchtext 时出现 ImportError

    当我尝试运行这行代码时 出现以下错误 from torchtext data import Field TabularDataset BucketIterator Iterator ImportError cannot import nam
  • Gradle从哪个版本开始支持Java 17

    当尝试配置项目时 我收到错误 不支持 Java 您的构建当前配置为使用 Java 17 0 1 和 Gradle 7 0 不幸的是 没有信息官方文档 https docs gradle org current userguide compa
  • CAtlList::RemoveAt 是否会使现有的 POSITIONS 无效?

    我正在看这个 其中 m Rows 是 CAtlList void CData RemoveAll size t cItems m Rows GetCount POSITION Pos m Rows GetHeadPosition while
  • 如何按特定顺序自动启动程序?

    我的 i3 配置文件中有以下几行 Startup applications exec firefox exec gnome terminal exec nautilus 这些行按预期启动 firefox gnome terminal 和 n
  • Erlang 和带有西里尔字母的二进制

    我需要能够使用其中包含西里尔字符的二进制文件 我尝试只写 lt lt gt gt 但我收到了 badarg 错误 如何在 Erlang 中使用西里尔字母 或 unicode 字符串 如果你想输入上面的表达式erlang shell 请阅读u
  • 使用基于单选按钮值的 javascript(Node JS) 将数据插入 mysql(Sequelize)

    我有下面的 json 对象 phoneno field1 Mohamed field2 123456789 field3 Sameer field1 Ganesh field2 987654321 field3 Pandiyan sende
  • “现代”正则表达式的识别能力

    真正的现代正则表达式实际上可以识别哪一类语言 每当存在带有反向引用的无限长度捕获组时 例如 1 正则表达式现在匹配非常规语言 但这本身并不足以匹配类似的东西S S 匹配括号对的上下文无关语言 递归正则表达式 这对我来说是新的 但我确信 Pe
  • 如何为 NDK 工具链的 gcc 包含

    首先 我上次尝试将c程序编译到linux arm架构时遇到了一个问题 以便稍后在android应用程序中使用它 我成功地做到了这一点 稍后我将写一篇关于如何使用 NDK 独立工具链的文章 现在我终于开始工作了 我正在尝试编译一个 c 文件