Articles of makefile

Android NDK:中止停止?

我正在研究ffmpeg for android。 我已成功编译ffmpeg-2.0.1之后我在我的NDK的sources / ffmpeg-2.0.1 / android / arm中制作了Android.mk文件 LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE:= libavcodec LOCAL_SRC_FILES:= lib/libavcodec-55.so LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include include $(PREBUILT_SHARED_LIBRARY) 之后使android项目和Android项目Android.mk文件一样 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := tutorial01 LOCAL_SRC_FILES := tutorial01.c LOCAL_LDLIBS := -llog -ljnigraphics -lz LOCAL_SHARED_LIBRARIES := libavformat libavcodec libswscale libavutil include $(BUILD_SHARED_LIBRARY) $(call import-module,ffmpeg-2.0.1/android/arm) 但显示出一个问题 *** Android […]

在Android.mk中使用Make的’通配符’function

我在Android.mk构建文件中使用Make的wildcard函数时遇到问题。 我的其他makefile使用类似这样的行来指定“此文件夹中的所有.c文件”: CFILES := $(wildcard *.c) 在我的Android.mk文件中,我试过这个: LOCAL_SRC_FILES := $(wildcard *.c) 但是,这与不包括任何文件具有相同的效果。 如果我手动包含文件,那么构建就像我期望的那样工作。 我想知道在评估此语句时,当前工作目录是否不是我的项目路径? 如果是这样,我可以使用$(call my-dir)和通配符函数的组合来获取我想要的列表吗?

任务执行失败’:app:compileDebugNdk’无法运行此命令ndk-build.cmd

Error:Execution failed for task ‘:app:compileDebugNdk’. com.android.ide.common.internal.LoggedErrorException:无法运行命令:C:\ Program Files \ ADT \ sdk \ android-ndk \ ndk-build.cmd NDK_PROJECT_PATH = null Error Code: 1 这是我在android studio上运行make项目时获得的输出。 我在android studio 1.0 sdk构建工具24.0但是针对API 14 这是我的Android.mk文件的样子 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := Main LOCAL_SRC_FILES := Main.cpp LOCAL_LDLIBS := -llog -ljnigraphics -lz -landroid LOCAL_SHARED_LIBRARIES := libavformat libavcodec libswscale libavutil include […]

如何将现有的make文件与Android NDK合并

所以我有一个庞大的现有C项目,我放在$PROJECT/jni目录中。 这个项目通常是通过运行一个configure脚本来创建的,该脚本创建了Makefile,然后允许通过make编译项目。 这个项目相当大,有许多包含源文件和头文件的目录。 我想我错过了对Android.mk应该如何工作的基本理解。 是否应该替换当前用于编译项目的configure和makefile? 或者我将生成的makefile从我的配置脚本合并到Android.mk ? 他们提供的示例相当简单,只有少量源文件。 我的jni目录看起来更像: jni/ folder1/subfolder1 folder1/subfolder2 folder1/source folder2/source ….. foldern/source configure/ configure/configure.sh Makefile Android.mk 生成的makefile非常广泛(配置量很大,每个目录中都有一个)所以我很少迷失如何处理它。 编辑: 主要问题是NDK附带的示例是微不足道的例子。 它们在顶级jni目录中有3-5个源文件。 我的问题是,这是一个庞大的项目,配置复杂,有4个顶级文件夹,每个文件夹都有许多子目录。 我不能简单地将源移动到jni文件夹并运行ndk编译器。

如何为NDK_MODULE_PATH指定目录

在过去的几个小时里,我遇到了这个简单任务的麻烦。 我在我的Android项目的根目录中有ndk-modules目录,我在我的Android.mk的jni文件夹中有以下内容 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) NDK_MODULE_PATH := $(LOCAL_PATH)/../ndk-modules … $(call import-module,mymodule) 当我构建mk文件时,我得到了 Android NDK: /MyApp/jni/Android.mk: Cannot find module with tag ‘mymodule’ in import path Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ? 我在这做错了什么? 如何正确指定路径? 更新: 规范是对的。 我在mymodule目录中遇到了问题。 对困惑感到抱歉。

Android NDK中的错误使程序无法find

我正在尝试使用此链接设置Android NDK。 我按照命令make -v开始设置进程,我得到了 $ make -v bash: make: command not found 然后我输入了上面链接中给出的以下命令 cd /cygwin/C/..path for my project /cygwin/C/..path of ndk installed path 此时我正在接受 ERROR: Cannot find ‘make’ program. Please install Cygwin make package or define the GNUMAKE variable to point to it. 注意,我检查了所有这种可能性错误链接: 链接-1 LINK-2 删除文件夹之间的空格。 检查一下:

Android.mk与Application.mk

关于Android.mk和Application.mk的使用,我有点模糊 我已经尝试在NDK附带的文档中阅读APPLICATION-MK.HTML和ANDROID-MK.HTML,但仍然对两个 makefile的目的感到困惑。 我真的很感激能帮助我理解这一点的人。

怎么办android mm干净?

我正在使用mm命令在Android源代码中构建自定义模块。 当我运行mm clean ,似乎整个项目都被清理干净了。 如何将清洁限制在当前模块中?

启用exceptionC ++

我正在尝试为Android制作APP原生代码。 Native代码在cplusplus中。 每当我尝试制作时,都会出现以下错误。 H236Plus.cpp:135:错误:禁用exception处理,使用-fexceptions启用 如何使用-fexceptions启用exception处理,以及在哪里使用它?

Android NDK:包括boost c ++库

我正在尝试使用NDK在我的Android应用程序中使用boost库。 我在这里和这里find了几个成功案例,但我不能对我说同样的话。 我特意尝试在此链接中使用库,以及boost线程库。 在下面的代码中,我只是尝试包含线程库,而不是数学库。 我用来构建boost库的过程与我附加的第一个链接几乎相同。 到目前为止,似乎我已经成功构建了boost库,但是当我运行ndk-build ,我收到以下错误: Prebuilt : libboost_thread.a <= /sources/ cp: omitting directory `path/to/ndk/sources/boost’ make: *** [obj/local/armeabi/libboost_thread.a] Error 1 显然cp: omitting directory…并不是一个错误。 但我唯一能得到的就是下一行,这并不是什么意思。 Error 1 这是我的Android.mk文件: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_STATIC_LIBRARIES := boost_thread LOCAL_LDLIBS := lboost_system-gcc-md lboost_thread-gcc-md -lgnustl_static LOCAL_LDLIBS += lboost_system-gcc-md lboost_thread-gcc-md \ -L$(NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/libs/armeabi \ -lgnustl_static LOCAL_SRC_FILES := #cpp_sources LOCAL_MODULE := […]