2012-01-19 34 views
9

Tôi sử dụng Android NDK với cygwin với Eclipse trên Windows. Trong makefile của tôi, tôi muốn thiết lập đường dẫn của thư viện prebuild sử dụng biến môi trường trong nhật thực. Vì vậy, tôi làm như sau:Đặt biến môi trường trong Eclipse để sử dụng với Android NDK

enter image description here

Và trong makefile:

LOCAL_SRC_FILES = $(QCAR_SDK_ROOT)build/lib/$(TARGET_ARCH_ABI)/libQCAR.so 
LOCAL_EXPORT_C_INCLUDES := $(QCAR_SDK_ROOT)build/include 

Nhưng tôi nhận được lỗi:

Android NDK: ERROR:jni/Android.mk:QCAR-prebuilt: LOCAL_SRC_FILES points to a missing file  
/cygdrive/d/Development/Android/android-ndk-r7/build/core/prebuilt-library.mk:43: *** Android NDK: Aborting . Stop. 
make: *** [all] Error 2 
Android NDK: Check that jni//cygdrive/D/Development/Android/qcar-android-1-5-4-beta1/build/lib/armeabi/libQCAR.so exists or that its path is correct 

Cố gắng xác định biến trong makefile trực tiếp, có cùng một kết quả .

Vì vậy, rõ ràng, con đường đó không phải là điều tôi muốn. Làm thế nào để tôi thiết lập đường dẫn thích hợp?

Trả lời

1

Tại sao không chỉ định đường dẫn trong tệp tạo? (N.B Chỉ cần nhận thấy bạn đã cố gắng đó.)

Using Cygwin with Android NDK

Trang web này dường như chỉ ra rằng làm cho tập tin sẽ không chạy một cách chính xác trong Eclipse và bạn nên chạy trong qua Windows Explorer. Bạn đang chạy điều này trong Eclipse? Hãy thử điều này và xem bạn vẫn gặp sự cố.

0

Hãy thử chơi với biến số LOCAL_PATH. Như tài liệu (docs/ANDROID-MK.html trong gói Android NDK, hoặc here) khẳng định:

LOCAL_SRC_FILES

This is a list of source files that will be built for your module. Only list the files that will be passed to a compiler, since the build system automatically computes dependencies for you.

Note that source files names are all relative to LOCAL_PATH and you can use path components

Ngoài ra, NDK gợi ý bạn Check that jni//cygdrive/D/Development/Android/qcar-android-1-5-4-beta1/build/lib/armeabi/libQCAR.so exists or that its path is correct.

Vì vậy, tôi sẽ thử như sau:

LOCAL_PATH :=/

... hoặc để thiết lập lại nó ở tất cả:

LOCAL_PATH := 
0

Bạn có thể sửa eclipse.ini tập tin và thêm nó ở đó.

ví dụ: -DLOCAL_SRC_FILES=/home/user/.../

Hoặc khai báo path variable. Đây là một cách thuận tiện để chia sẻ một vị trí chung giữa nhiều dự án trong một vùng làm việc.

Hy vọng sẽ giúp bạn!

0

Các bản phát hành NDK gần đây trên Windows không cần cygwin. Tệ hơn nữa, họ không nhận ra ký hiệu cygdrive. Bạn chỉ có thể sử dụng

QCAR_SDK_ROOT = D:/Development/Android/qcar-android-1-5-4-beta1 

chỉnh đường dẫn tuyệt đối cho LOCAL_SRC_FILES không làm việc cho ndk.r7, và ngay cả đối với r9 ANDROID-MK.doc không khuyến khích sử dụng đường dẫn tuyệt đối đó.

Các vấn đề liên quan