debugging 문법 - 컴파일을 디버깅하기 위해 NDK-build Android.mk 파일에서 echo o print를 사용하여 var을 인쇄하는 방법은 무엇입니까?




추가 so (4)

보다 정확한 함수 호출은 "$ (info ...)"입니다.

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

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)을 사용하여 작동해야한다고 말했지만 나의 경우에는 작동하지 않는다.

어떤 생각?


Android.mk에서 다음 디스플레이를 사용할 수 있습니다.

  • 오류 : 디버그 print + 빌드 중지
  • info : 기본 디버그 인쇄
  • 경고 : 정보와 동일하지만 삽입 된 행 번호를 표시합니다.

아래에 몇 가지 샘플이 있습니다.

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

용도

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

빌드중인 현재 ABI의 값을 보유하는 TARGET_ARCH 변수가 있습니다. 다음과 같은 방법으로 사용할 수 있습니다.

ifeq ($(TARGET_ARCH),x86)
    LOCAL_CFLAGS   := $(COMMON_FLAGS_LIST)
else
    LOCAL_CFLAGS   := -mfpu=vfp -mfloat-abi=softfp $(COMMON_FLAGS_LIST)
endif

APP_ABI := armeabi-v7a armeabi mips x86 또는 APP_ABI := all 을 지정하면 각각의 모든 ABI 값을 얻게됩니다.





debugging makefile android-ndk