【问题标题】:Android makefile call import path variable valueAndroid makefile 调用导入路径变量值
【发布时间】:2014-12-22 10:24:55
【问题描述】:

在一个 android makefile 中我有以下一行

$(call import-add-path,/Users/bruno/Dev/cocos2d-x-2.1.5)

现在,我正在与几个人一起工作,而且这条线路对人不是很友好。我曾尝试在环境变量中定义该路径,但是当我将它添加到调用 import-add-path 行时它会被忽略。我将变量作为警告输出,makefile 显然存在变量:

$(warning $(NMP))    # outputs: jni/Android.mk:29: /Users/bruno/Dev/cocos2d-x-2.1.5
$(call import-add-path,$(NMP))

我怎样才能使这项工作对多个开发人员友好?

编辑:OSX 上的 Eclipse,构建 cocos2d-x 2.1.5 TestCpp 项目,android NDK r10c。我收到的错误消息实际上是关于缺少 ABI 并询问我是否正确设置了 NDK_MODULE_PATH 变量并且它仅在调试版本中发生(也许 GDB 会有所不同?)。

【问题讨论】:

  • 从 makefile 的角度来看应该可以正常工作(虽然我对 android 方面的事情一无所知)。它是否适用于 makefile 本身中定义的变量?
  • @EtanReisner 不。我确实发现了一些关于 Eclipse 在调试构建时弄乱环境的 cmets,但由于在 makefile 中定义变量时它不起作用,我认为它与 Eclipse 无关。跨度>
  • 但是,如果您在调用中硬编码值,它确实有效吗?在同样的情况下,它不适用于上述情况?
  • @EtanReisner 是的,硬编码值可以正常工作(第一个示例)。
  • 在制作级别上,这是不可能的。我想,如果正在执行构建的任何操作都是手动扫描makefile 中的值,以及 使用make 来构建它,并且扫描无法处理变量,但我发现这种可能性极不可能。您得到的确切错误是什么?是在构建时还是运行时?

标签: android makefile android-ndk cocos2d-x android-make


【解决方案1】:

最后这个设置对我有用:

LOCAL_PATH := $(call my-dir)   # ./Project/proj.android/jni/ folder

...

IMPORT_PATH := $(LOCAL_PATH)/../../..    # ./ this gets me to where the modules are located

$(call import-add-path, $(IMPORT_PATH))
$(call import-add-path, $(IMPORT_PATH)/cocos2dx/platform/third_party/android/prebuilt)

$(call import-module,cocos2dx)    # ./cocos2dx
$(call import-module, ... etc.

我无法通过 Eclipse 将环境变量传递给 ndk-build,但如果我使用相对于 $(call my-dir) 的值调用 import-add-path,它就可以工作。这也应该适用于多个开发人员。

【讨论】:

    猜你喜欢
    • 2016-09-30
    • 2021-12-05
    • 2012-12-13
    • 2019-05-26
    • 2017-10-13
    • 1970-01-01
    • 2019-05-30
    • 2021-02-06
    • 1970-01-01
    相关资源
    最近更新 更多