Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
NDK:Android.mk/GNU-Make_Android_Makefile_Android Ndk - Fatal编程技术网

NDK:Android.mk/GNU-Make

NDK:Android.mk/GNU-Make,android,makefile,android-ndk,Android,Makefile,Android Ndk,我的NDK项目的Android.mk包含数百个CPP文件,我从中构建了大约12个静态库,最后是一个共享库。到目前为止,我的大部分开发经验都是在Windows上进行的,因此我对Linux、GNU Make等不太熟悉 当我将一个新的CPP文件添加到Android.mk(即本地_SRC_文件)时,发布ndk build会重建我的所有文件,这显然是因为Android.mk发生了更改,它引用了所有的CPP文件。有没有办法避免这种情况?让我们假设我为每个静态库创建了一个单独的文件,每个这样的文件都会将该库的

我的NDK项目的Android.mk包含数百个CPP文件,我从中构建了大约12个静态库,最后是一个共享库。到目前为止,我的大部分开发经验都是在Windows上进行的,因此我对Linux、GNU Make等不太熟悉

当我将一个新的CPP文件添加到Android.mk(即本地_SRC_文件)时,发布ndk build会重建我的所有文件,这显然是因为Android.mk发生了更改,它引用了所有的CPP文件。有没有办法避免这种情况?让我们假设我为每个静态库创建了一个单独的文件,每个这样的文件都会将该库的CPP文件添加到本地_SRC_文件中,并包含在Android.mk中。这是否会导致只重建其包含的文件被修改的库?这实际上是我的第一次尝试,但我在某个地方出了严重的错误,不得不重新开始,因为构建将不再成功(这就是为什么我在再次尝试之前要询问的原因)

假设上述方法是合理的,那么包含文件与包含/包含文件中设置的变量的作用域/生存期有何关系


仍然希望有人能回答这个问题…

首先尝试将您的项目拆分为多个android.mk文件,而不是一个。它会限制每次更改其中一个时的重新编译步骤。 然后尝试此
ndk build-o
。例如:

ndk-build -o jni/Android.mk
参考: