
我目前正在编写一个类型分类应用程序作为我在计算机工程的最后一年项目.我最初在C中编写了特征提取代码(实现FFTW),现在我需要通过NDK在Android上实现它.
这是我的第一个NDK项目,所以我仍然掌握了一些东西,但我根据this guide编译了针对AndroID的FFTW3库.我没有做最后一步因为我认为它不适合我需要.
我的问题是,在编译步骤之后,如何使用调用它的主NDK应用程序中的库?我只是将LOCAL_STATIC_liBRARIES设置为我刚刚编译的libfftw3.a,在Application.mk中通常做一切吗?然后我不需要像往常那样拥有任何-lfftw3链接器标志?
最佳答案您可以使用prebuit FFTW库(无论您是如何构建它的).或者你可以在整个项目的AndroID.mk makefile中构建FFTW.
AndroID.mk内容将是:
# Prebuilt FFTW libraryinclude $(CLEAR_VARS)LOCAL_MODulE := fftwinclude $(PREBUILT_STATIC_liBRARY)# or# Build FFTW libraryinclude $(CLEAR_VARS)LOCAL_MODulE := fftw# Todo put your static libs build flagsinclude path_to_fftw_sources/$(LOCAL_MODulE).mkinclude $(BUILD_STATIC_liBRARY)include $(CLEAR_VARS)LOCAL_MODulE := YourProject# Todo put your shared lib build flagsinclude path_to_your_project/$(LOCAL_MODulE).mkLOCAL_STATIC_liBRARIES += fftwinclude $(BUILD_SHARED_liBRARY)我编写了path_to_fftw_sources / $(LOCAL_MODulE).mk用于构建fftw静态库和path_to_your_project / $(LOCAL_MODulE).mk用于构建共享库.将LOCAL_SRC_fileS和LOCAL_C_INCLUDES放到单独的.mk文件中通常会更好.
您可以在NDK发行版的docs / ANDROID-MK.HTML文档中阅读有关AndroID.mk文件的更多信息.
总结以上是内存溢出为你收集整理的将FFTW链接到Android NDK应用程序全部内容,希望文章能够帮你解决将FFTW链接到Android NDK应用程序所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)