2012-02-29 27 views
61

Tôi đang cố gắng in một số thông tin bổ sung khi biên dịch một thư viện bằng cách sử dụng ndk-build.Làm thế nào để in một var bằng cách sử dụng echo o in trong một tập tin NDK-xây dựng Android.mk để gỡ lỗi biên dịch?

Ví dụ:

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

Khi tôi làm ndk-build, chỉ cần biên dịch tất cả các Android.mk, nhưng tôi không nhận được giao diện điều khiển tiếng vang. Tôi đã đọc GNU làm cho thông tin (ndk-xây dựng chỉ là một GNU nhỏ làm), và một số người mà nói echo phải làm việc bằng cách sử dụng một $ (VAR) nhưng nó không làm việc trên trường hợp của tôi.

Một số ý tưởng?

Trả lời

111

Sử dụng

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

giải pháp làm việc tốt này, thanks a lot! – vgonisanz

47

Chức năng chính xác hơn để gọi là "$ (thông tin ...)":

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

Chỉ cần một lời khuyên, sử dụng $ (thông tin) Tôi đã có một số vấn đề biên dịch mà làm cho trình biên dịch của tôi thất bại trong Windows nhưng không phải trong Linux, chỉ cho một ai đó thử nghiệm vấn đề thêm thông tin. Tôi bắt đầu sử dụng trình biên dịch CMake để gây thiệt hại cho Android.mk vì hoạt động tốt hơn – vgonisanz

18

Các hiển thị sau có sẵn trong Android.mk:

    Lỗi
  • : gỡ lỗi in + dừng bản dựng
  • thông tin: gỡ lỗi cơ bản in
  • cảnh báo: tương tự như thông tin nhưng hiển thị số dòng nơi nó được chèn

đây là một số mẫu:

$(error this is the error message that will stop the build process) 
$(warning this the warning msg) 
$(info this the info msg) 
Các vấn đề liên quan