【问题标题】:How to print a var using echo o print in a NDK-build Android.mk file to debug compilation?如何在 NDK 构建的 Android.mk 文件中使用 echo o print 打印 var 以调试编译?
【发布时间】:2012-03-18 22:25:02
【问题描述】:

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

例如:

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

当我执行 ndk-build 时,只需编译所有 Android.mk,但我没有得到控制台回显。我已经阅读了 GNU make 信息(ndk-build 只是一个很小的 ​​GNU make),还有一些帖子说 echo 必须使用 $(VAR) 但它不适用于我的情况。

有什么想法吗?

【问题讨论】:

    标签: debugging makefile android-ndk


    【解决方案1】:

    使用

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 只是一个建议,使用 $(info) 我遇到了一些编译问题,导致我的编译在 Windows 中失败,但在 Linux 中却没有,只是因为有人尝试添加信息的问题。我开始使用 CMake 编译来损害 Android.mk 因为工作得更好
      【解决方案3】:

      以下显示在 Android.mk 中可用:

      • 错误:调试打印 + 停止构建
      • 信息:基本调试打印
      • 警告:与 info 相同,但显示插入的行号

      下面是一些示例:

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

      【讨论】:

      • info 仅在 NDK 版本中可用。
      猜你喜欢
      • 1970-01-01
      • 2012-09-18
      • 2023-03-21
      • 2020-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-13
      • 1970-01-01
      相关资源
      最近更新 更多