C Android-NDK:变量的问题

C Android-NDK:变量的问题,c,android-ndk,C,Android Ndk,我正在移植一个应用程序,现有的MakeFile有以下内容 ETC_GITATTRIBUTES = $(sysconfdir)/gitattributes ETC_GITATTRIBUTES_SQ = $(subst ','\'',$(ETC_GITATTRIBUTES)) EXTRA_CPPFLAGS = \ -DETC_GITATTRIBUTES='"$(ETC_GITATTRIBUTES_SQ)"' 所以我试着用 LOCAL_CFLAGS := -DNO_GETTEXT -DSHA

我正在移植一个应用程序,现有的MakeFile有以下内容

ETC_GITATTRIBUTES = $(sysconfdir)/gitattributes
ETC_GITATTRIBUTES_SQ = $(subst ','\'',$(ETC_GITATTRIBUTES))
EXTRA_CPPFLAGS = \
    -DETC_GITATTRIBUTES='"$(ETC_GITATTRIBUTES_SQ)"'
所以我试着用

LOCAL_CFLAGS := -DNO_GETTEXT -DSHA1_HEADER="openssl/sha.h" -DETC_GITATTRIBUTES=/scard/.app
这两个调用的代码都是

system_wide = system_path(ETC_GITATTRIBUTES)
但是第二个给了我以下的错误

./src/attr.c:476:30: error: expected expression before '/' token
如果我像这样硬编码

system_wide = system_path("/sdcard/.app");
这个很好用。如何在Android.mk中正确声明变量

更新

我也试过这个

LOCAL_CFLAGS := -DNO_GETTEXT -DSHA1_HEADER="openssl/sha.h" -DETC_GITATTRIBUTES="/scard/.app"

C预处理器完成后的代码如下所示:

system_wide = system_path(/scard/.app)
这是因为
ETC\u gittributes
/scard/.ap
取代。所以你需要做:

-DETC_GITATTRIBUTES="/scard/.app"
之前的答案是“接近”,但你需要避开这些引语

LOCAL_CFLAGS := -DNO_GETTEXT -DSHA1_HEADER="openssl/sha.h" -DETC_GITATTRIBUTES=\"/scard/.app\"