Art*_*ski 6 android makefile android-ndk android-source
我正在开发一个Android.mk文件,对于单个模块,其中一个文件需要不同的CPPFLAGS; 即,它需要-frtti启用,而其他人需要Android默认的-fno-rtti.
显而易见的解决方案是特定于目标的变量,但奇怪的是它们似乎不会影响编译,即使有一些摆弄以确保值应该在正确的时间固定.
这是我Android.mk的摘录(名称已更改以保护我):
LOCAL_MODULE := foo_bar
LOCAL_SRC_FILES := \
foo_bar.cpp \
foo_baz.cpp
my_intermediates:= $(local-intermediates-dir)/foo_baz.o
$(my_intermediates): LOCAL_CPPFLAGS := -frtti
Run Code Online (Sandbox Code Playgroud)
我试图简单地做foo_baz.o:代替$(my_intermediates),并试图替换+=为:=没有变化.
那么,是否有特定于Android的方法来覆盖特定源文件的CPPFLAGS(或CFLAGS)?
(在这种情况下,我使用的是Eclair Android源代码,虽然它可能适用于NDK;请参阅下面的答案.)
像往常一样,在花了很多时间问这个问题后,我很快就找到了答案。我需要使用PRIVATE_CPPFLAGS而不是LOCAL_CPPFLAGS.
然而,这似乎仅适用于 Android 源代码发行版(至少是 Eclair)和 NDK r6b。如果我使用 NDK r6,这可能会按原样工作。
| 归档时间: |
|
| 查看次数: |
2780 次 |
| 最近记录: |