2011-07-07 54 views
1

是否可以在ndk中的單個Android.mk文件中使用多個擴展來編譯C++源文件?您可以通過LOCAL_CPP_EXTENSION變量修改C++擴展(默認情況下爲.cpp),但似乎只能將其設置爲一個擴展名(也就是說,不能同時在.cc和.cpp文件中編譯。相同的Android.mk文件)。Android.mk文件中的C++擴展

在此先感謝!

+0

顯然它不是 - 我最終做的是在同一個生成文件中構建多個靜態庫,每個文件擴展名一個。 –

回答

2

否。在build/core/build-binary.mk中,'LOCAL_CPP_EXTENSION只能是一個字。'

# 
# Check LOCAL_CPP_EXTENSION, use '.cpp' by default 
# 
LOCAL_CPP_EXTENSION := $(strip $(LOCAL_CPP_EXTENSION)) 
ifeq ($(LOCAL_CPP_EXTENSION),) 
    LOCAL_CPP_EXTENSION := .cpp 
else 
    ifneq ($(words $(LOCAL_CPP_EXTENSION)),1) 
    $(call __ndk_info, LOCAL_CPP_EXTENSION in $(LOCAL_MAKEFILE) must be one word only, not '$(LOCAL_CPP_EXTENSION)') 
    $(call __ndk_error, Aborting) 
    endif 
endif 
4

NDK> = R7支持多個值,例如:

LOCAL_CPP_EXTENSION := .cc .cpp .cxx 

做修改LOCAL_CPP_EXTENSION以避免發生錯誤後一個 '乾淨' 的構建。