Tag: android.mk

Android无法在Android程序中使用Android.mk包含Linux

我正在尝试为Android 6编译一个C程序。这是我的Android.mk : APP_PLATFORM := android-23 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) # Enable PIE manually. Will get reset on $(CLEAR_VARS). This # is what enabling PIE translates to behind the scenes. LOCAL_CFLAGS += -fPIE -DHAVE_FANOTIFY=1 -DHAVE_SYS_FANOTIFY=0 LOCAL_LDFLAGS += -fPIE -pie # give module name LOCAL_MODULE := fsmon # list your C files to compile […]

Android ndk build无法构建32bit可执行文件

根据我的第一个问题 ,我尝试在我的应用程序中包含fanotify.h标头。 该应用程序基于fsmon (一个使用fanotify系统调用的小应用程序),我为了我的目的更改了一些代码行并创建了一个Android.mk makefile: APP_PLATFORM := android-23 TARGET_PLATFORM := android-23 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) # Enable PIE manually. Will get reset on $(CLEAR_VARS). This # is what enabling PIE translates to behind the scenes. LOCAL_CFLAGS += -fPIE -DHAVE_FANOTIFY=1 -DHAVE_SYS_FANOTIFY=0 LOCAL_LDFLAGS += -fPIE -pie # give module name LOCAL_MODULE := fsmon # include […]

如何在Android.mk的LOCAL_CFLAGS中动态获取当前编译器目标文件名?

我目前正在尝试使用Android的NDK构建本机模块。 我的项目包含几个源文件(例如: FILENAME .c),对于每个源文件,我需要在其CFLAGS( -DOPERATION_FILENAME )中声明一个定义。 为此,我需要动态获取Android NDK交叉编译器的当前目标文件的名称,并将其用于定义值。 我找不到任何有关如何执行此操作的信息,并且Makefile方式( CFLAGS + = -DOPERATION_ echo $* | sed ‘s/_$$//’ )不适用于此处。 我目前的Android.mk看起来像这样: LOCAL_PATH:=$(call my-dir) include $(CLEAR_VARS) LOCAL_ARM_MODE := arm LOCAL_MODULE := libmpn LOCAL_SRC_FILES := \ LOCAL_CFLAGS := \ -std=gnu99 \ -DHAVE_CONFIG_H \ -D__GMP_WITHIN_GMP \ -O2 \ -pedantic \ -fomit-frame-pointer \ -mfloat-abi=softfp \ -DOPERATION_`echo $* | sed ‘s/_$$//’` […]