- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我目前正在编写一个流派分类应用程序作为我在计算机工程专业的最后一年项目。我最初用 C 编写了特征提取代码(实现 FFTW),现在我需要通过 NDK 在 Android 上实现它。
这是我的第一个 NDK 项目,所以我仍然掌握了一些东西,但我已经根据 this guide 为 Android 编译了 FFTW3 库。 .我没有执行最后一步,因为我认为它不适合我的需要。
我的问题是,在编译步骤之后,如何在调用它的主 NDK 应用程序中使用库?我是否在 Application.mk 中正常使用 LOCAL_STATIC_LIBRARIES 设置为我刚刚编译的 libfftw3.a?然后我不需要像往常一样拥有任何 -lfftw3 链接器标志?
最佳答案
您可以使用预构建的 FFTW 库(无论您是如何构建它的)。
或者您可以在 Android.mk
makefile 中使用整个项目构建 FFTW。
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)
我编写了用于构建 fftw 静态库的 path_to_fftw_sources/$(LOCAL_MODULE).mk
和用于构建共享库的 path_to_your_project/$(LOCAL_MODULE).mk
。通常最好将 LOCAL_SRC_FILES
和 LOCAL_C_INCLUDES
放入单独的 .mk
文件中。
您可以在 NDK 发行版的 docs/ANDROID-MK.html
文档中阅读有关 Android.mk
文件的更多信息。
关于android - 将 FFTW 链接到 Android NDK 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7234629/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!