【问题标题】:C++ Extensions in Android.mk FilesAndroid.mk 文件中的 C++ 扩展
【发布时间】:2011-07-07 21:12:42
【问题描述】:

是否可以在 ndk 的单个 Android.mk 文件中编译具有多个扩展名的 C++ 源文件?您可以通过 LOCAL_CPP_EXTENSION 变量修改 C++ 扩展名(默认为 .cpp),但您似乎只能将其设置为一个扩展名(也就是说,您不能同时在 .cc 和 .cpp 文件中编译相同的 Android.mk 文件)..

提前致谢!

【问题讨论】:

  • 显然不是——我最终做的是在同一个 makefile 中构建多个静态库,每个文件扩展名一个。

标签: android c++ makefile android-ndk


【解决方案1】:

NDK >= r7 支持多个值,例如:

LOCAL_CPP_EXTENSION := .cc .cpp .cxx

在修改 LOCAL_CPP_EXTENSION 后进行“干净”构建以避免错误。

【讨论】:

    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-15
      • 2014-03-07
      • 1970-01-01
      相关资源
      最近更新 更多