如何在 NDK 构建的 Android.mk 文件中使用 echo o print 打印 var 来调试编译?

我试图打印一些额外的信息时,在编译一个库使用 ndk-build。

例如:

LOCAL_PATH := $(call my-dir)
all:;echo $(LOCAL_PATH)
echo: $(LOCAL_PATH)
print:echo "i'm not working"

当我使用 ndk-build 时,只需要编译所有 Android.mk,但是我得不到控制台 echo。我已经阅读了 GNU make 信息(ndk-build 只是一个很小的 GNU make) ,还有一些文章说 echo 必须使用 $(VAR)才能工作,但是在我的案例中不起作用。

有什么想法吗?

56706 次浏览

使用

LOCAL_PATH := $(call my-dir)
$(warning $(LOCAL_PATH))

更正确的调用函数是“ $(info...)”:

LOCAL_PATH := $(call my-dir)
$(info $(LOCAL_PATH))

在 Android.mk 中可以看到以下显示:

  • 错误: 调试打印 + 停止生成
  • Info: 基本调试打印
  • 警告: 与 info 相同,但显示了插入的行号

下面是一些例子:

$(error this is the error message that will stop the build process)
$(warning this the warning msg)
$(info this the info msg)