将 FFTW 链接到 Android NDK 应用程序

2024-03-26

我目前正在编写一个流派分类应用程序,作为我计算机工程的最后一年项目。我最初用 C 语言编写了特征提取代码(实现 FFTW),现在我需要通过 NDK 在 Android 上实现它。

这是我的第一个 NDK 项目,所以我仍在掌握一些东西,但我已经根据 Android 编译了 FFTW3 库本指南 http://blog.jimjh.com/compiling-open-source-libraries-with-android-ndk-part-2.html。我没有执行最后一步,因为我认为这不适合我的需要。

我的问题是,在编译步骤之后,如何在调用它的主 NDK 应用程序中使用该库?我在 Application.mk 中的所有内容是否正常,只是将 LOCAL_STATIC_LIBRARIES 设置为我刚刚编译的 libfftw3.a ?然后我不需要像通常那样有任何 -lfftw3 链接器标志,对吗?


您可以使用预编译 FFTW 库(无论您如何构建它)。

或者你可以构建 FFTWAndroid.mk包含整个项目的 makefile。

Android.mk内容将是:

# Prebuilt FFTW library
include $(CLEAR_VARS)
LOCAL_MODULE := fftw
include $(PREBUILT_STATIC_LIBRARY)

# or

# Build FFTW library
include $(CLEAR_VARS)
LOCAL_MODULE := fftw
# TODO put your static libs build flags
include path_to_fftw_sources/$(LOCAL_MODULE).mk
include $(BUILD_STATIC_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := YourProject
# TODO put your shared lib build flags
include path_to_your_project/$(LOCAL_MODULE).mk
LOCAL_STATIC_LIBRARIES += fftw
include $(BUILD_SHARED_LIBRARY)

我已经写了path_to_fftw_sources/$(LOCAL_MODULE).mk用于构建 fftw 静态库和path_to_your_project/$(LOCAL_MODULE).mk用于构建您的共享库。通常最好将LOCAL_SRC_FILES and LOCAL_C_INCLUDES到单独的.mk file.

您可以阅读更多有关Android.mk文件输入docs/ANDROID-MK.htmlNDK 发行版中的文档。

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

将 FFTW 链接到 Android NDK 应用程序 的相关文章

  • 如何在 Flutter 中为 Button 添加渐变?

    有没有办法改变ElevatedButton背景颜色渐变 如果没有一些小瑕疵或问题 例如缺少涟漪效应 不需要的边框 不尊重主题的内容 上述所有解决方案都无法真正发挥作用minWidth对于按钮 The 下面的解决方案没有上述问题 关键部分是使
  • GCM 通知的自定义 UI

    In GCM Docs http developer android com google gcm gcm html其给定 它不提供任何内置用户界面或其他处理 消息数据 GCM 只是将收到的原始消息数据直接传递给 Android 应用程序
  • 当应用程序停止使用 Sencha Touch 2.2 和 Phonegap 时,LocalStorage 存储不会保留在 Android 手机上

    这在我的浏览器中工作正常 但是当我在手机上安装该应用程序并使用它时 它看起来很好 直到我强制它停止并重新打开该应用程序 然后我的所有记录都消失了 我正在使用 2 2 和 Phonegap 任何帮助将非常感激 这是我的商店 Ext defin
  • Gson.toString() 给出错误“IllegalArgumentException:多个名为 mPaint 的 JSON 字段”

    我想将自定义对象转换为字符串并保存在 SharedPreferences 中 这是我的最终目标 我尝试了下面的行但失败了 String matchString gson toJson userMatches Logcat 10 11 15
  • Android Material主题alpha颜色问题

    我已经创建了一个构建版本为 5 0 的应用程序 我在下面编写了主题
  • 要在进程中运行 dex,Gradle 守护进程需要更大的堆。目前有 910 MB

    实际上主要错误是 java exe完成非零退出值 1 首先我告诉你安装 studio 后遇到的每个问题 三天前 我刚刚安装了 android studio 并创建了新项目 1 首先它抛出错误 插件太旧 请更新到更新的版本 在谷歌上搜索后我改
  • 在 doInBackground 方法中启动活动

    在下面的代码中 我从互联网下载 json 并希望显示在列表中 如果列表为空 则转到另一个活动 但其他活动未启动 没有错误 但没有启动活动 感谢您的帮助 package ir mohammadi android nightly import
  • 在android中以编程方式创建布局 - 问题

    我正在使用以下代码动态创建 FrameLayout mylayout java FrameLayout layout new FrameLayout this FrameLayout LayoutParams layoutparams ne
  • 如何在android中的应用程序小部件中找到哪个按钮被点击?

    我想设计一个简单的应用程序小部件 它有两个文本视图和两个用于上一个 下一个的按钮 我很难处理应用程序小部件中的按钮单击 实际上我的愿望是 如果用户单击上一个按钮 我想显示以前的值 如果用户单击下一个按钮 我想显示数据库中的下一个值 如何知道
  • 如何通过代码设置Fragment标签?

    我还没有找到类似的东西setTag String tagName 方法中的Fragment班级 唯一的方法是设置Fragment我发现的标签是通过做FragmentTransaction并传递标签名称作为参数 这是显式设置的唯一方法吗Fra
  • 首选项活动中的广告“没有足够的空间来显示广告!需要:<480, 75>,拥有:<432, 1073741823>”

    我试图在偏好活动中展示广告 但它从未出现 Logcat 始终显示消息 没有足够的空间来显示广告 想要 有 这就是我制作广告的方式 我对广告有自定义偏好 public class AdmobPreference extends Prefere
  • 在 Android 5 上支持 BLE 外设角色的芯片组 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 Android 5 0 Lollipop 引入的新 BLE 外设模式将不会在 Nexus 4 5 或 7 上启用 https code
  • 未调用内容提供商 query() (Android TV)

    据报道 我正在尝试将我的应用程序纳入 Android TV 全局搜索中文档 http developer android com training tv discovery searchable html我必须创建以下内容 内容提供商 可搜
  • Android 简单 TextView 动画

    我有一个 TextView 我想倒计时 3 2 1 发生了事情 为了使其更有趣 我希望每个数字都以完全不透明开始 然后淡出至透明 有没有一种简单的方法可以做到这一点 尝试这样的事情 private void countDown final
  • 我可以在导航组件中使用多个 NavHostFragment 吗?

    如果您难以理解以下段落 请查看我制作的流程图 我目前正在制作一个带有 3 个顶级目的地的笔记应用程序 顶级目标之一 NotesList 显示用户创建的注释列表 NotesList 有一个过滤器按钮 可显示带有 FilterMenu 目标的底
  • 如何将 currentTimeMillis 转换为可读的日期格式? [复制]

    这个问题在这里已经有答案了 我想用currentTimeMillis两次 这样我就可以计算持续时间 但我也想以用户可读的格式显示时间和日期 我遇到了麻烦currentTimeMillis有利于计算 但我看不到内置函数可以转换为合适的时间或时
  • Webview 中的 Java 空指针异常

    我试图搜索这个问题 但这个错误看起来与这个错误 https stackoverflow com questions 21866459 android nullpointerexception on webview 我的 google pla
  • RecyclerView 适配器的 Kotlin 泛型

    我正在尝试编写一个通用的 recyclerview 适配器 我找到了几个例子 然而 仍然无法弄清楚如何实现通用适配器 我写的代码是 open abstract class BaseAdapter
  • Android进程调度

    我试图更好地理解 以便在创建 Android 应用程序 服务时确定潜在的互操作性问题对可靠性的影响 我想弄清楚进程优先级是如何确定的 服务和活动之间优先级的差异以及调度程序是否以不同方式对待它们的优先级 基本上 我试图深入了解某个活动或服务
  • 如何检测文本是否可读?

    我想知道是否有一种方法可以告诉给定的文本是人类可读的 我所说的人类可读的意思是 它有一些含义 格式就像某人写的文章 或者至少是由软件翻译器生成的供人类阅读的文章 这是背景故事 最近我正在制作一个应用程序 允许用户将短文本上传到数据库 在部署

随机推荐

  • Arduino - 高效地迭代 C 数组

    我有以下数组 PROGMEM prog uint16 t show hide info 4216 8900 4380 580 500 600 500 580 1620 580 500 600 500 580 500 600 480 600
  • 将满足范围内的值的行复制到sheet2

    对于 Excel VBA 我是个新手 如果满足某些条件 我有一个任务将行从工作表 1 复制到工作表 2 在sheet1中 JY列中的值以MV列结尾 我希望您能帮我编写一个宏 将包含小于 1 的值的所有行复制到sheet2 一行可能有多个 例
  • 无法使用使用Python编写的Robot Framework自定义库

    创建了一个示例 Python 脚本 Elements py 其函数如下 from robot api deco import keyword keyword join two strings def join two strings arg
  • 通过 SNMP 访问路由表

    如果我尝试查找安装了 openWRT 的 Linksys WRT54G 的路由表 我需要哪个 MIB 那应该是MIB II SNMP 对象 ID OID 为 1 3 6 1 2 1 4 21 可转换为ip ipRouteTable 这对我在
  • 按组的 SQL 计数

    我必须遵循架构 Movie mvID title rating year Director directorID firstname lastname Genre mvID genre Direct mvID directorID 我需要知
  • 错误类“HTML”未找到 - Laravel 5.4

    我收到以下错误 未找到 HTML 类 查看 C WORK Software XamppOne htdocs APOSTXUI ContractorsClubField resources views includes header blad
  • 将表格添加到 ggplot 图

    我有剂量反应数据 df lt data frame dose c 10 0 625 2 5 0 15625 0 0390625 0 0024414 0 00976562 0 00061034 10 0 625 2 5 0 15625 0 0
  • 无法删除 Android Studio 中的目录

    当我运行项目时安卓工作室2 0它显示以下错误 错误 任务 app clean 执行失败 gt 无法删除 目录 XX build outputs apk 在 android studio 终端中 转到项目根目录并使用命令 gradlew cl
  • SQL Server:将多行数据合并为一行

    我想要做的是合并几行数据 以便从 Transact SQL 或 SSIS 中显示为单行 例如 MAKE REF ID Title Surname Forename DOB Add1 Postcode D 10 MR KINGSTON NUL
  • 如何让在 MacOS 上运行的 Flutter 项目成功使用 Firestore?

    我有一个简单的 Flutter 项目 它所做的只是连接到 Firestore 集合 提取一些文档并显示它们 这在 iOS 上运行良好 但是 当我尝试在 macOS 中运行它时 我无法检索文档 我没有看到任何例外 只是没有成功 我从最初的默认
  • 何时在 Angular 2 中使用 @angular 标签? [复制]

    这个问题在这里已经有答案了 我试图使用下面的代码来引导我的应用程序boot ts file import bootstrap from angular2 platform browser import ROUTER PROVIDERS fr
  • git Push 因 git-credential-winstore 失败

    我认为 git credential winstore 应用程序存在问题 我正在尝试存储凭据 以便不必每次都输入它们 我已经在一台计算机 我的个人笔记本电脑 上完成了此过程 并且运行完美 但是当我尝试在工作计算机上重复此过程时 它失败了 我
  • 使用 liquibase 创建双精度[]类型的列

    如何在postgresql数据库中使用liquibase创建双精度 双精度数组 类型的列
  • 在 FtpWebRequest 中设置端口

    我需要用户能够修改下载 FTP 信息的端口 但我找不到在 FtpWebRequest 中更改此端口的方法 该端口不是用于创建 Web 请求的 URI 的一部分吗 FtpWebRequest request FtpWebRequest Web
  • 在 VB.net 中读取 XML

    我在谷歌上搜索了大约一个小时 但没有运气 我想我也是一个很棒的谷歌用户 所以我在这里 我有一个用于程序设置的 XML 文件 它看起来像这样
  • Apollo:数据/突变道具未传递给组件

    我有以下带有查询和突变的组件 但我的组件没有接收数据和突变道具 我的代码中是否做错或遗漏了什么 虽然查询确实被执行 但它只是没有被传递下去 this props mutate 以及 this props data 未定义 class Res
  • 绘制一天内具有不同时间戳和 datetime.time 格式的时间序列

    我有两个包含温度和光传感器读数的数据集 测量时间为 22 35 41 04 49 41 此数据集的问题在于 当从一天到另一天 22 35 41 04 49 41 进行测量时 要根据 datetime date 格式绘制测量值 绘图功能自动从
  • 如何反转 SQL Server 2008 中的字段

    如何反转 SQL Server 2008 中的字段 select reverse abcdef fedcba 1 row s affected
  • IE 中文本大小列表的实际像素是多少?

    与 IE 中的以下文本大小列表相比 实际字体大小 以像素为单位 是多少 Largest Larger Medium Smaller Smallest 在 Web 应用程序中 我需要提供类似的行为 通过选择上面列表中的任何一个来设置应用程序控
  • 将 FFTW 链接到 Android NDK 应用程序

    我目前正在编写一个流派分类应用程序 作为我计算机工程的最后一年项目 我最初用 C 语言编写了特征提取代码 实现 FFTW 现在我需要通过 NDK 在 Android 上实现它 这是我的第一个 NDK 项目 所以我仍在掌握一些东西 但我已经根