Настройка переменных среды в Eclipse для использования с Android NDK - PullRequest
9 голосов
/ 19 января 2012

Я использую Android NDK с Cygwin с Eclipse на Windows.В моем make-файле я хочу установить путь библиотеки предварительной сборки, используя переменную окружения в eclipse.Поэтому я делаю следующее:

enter image description here

И в makefile:

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

Но я получаю сообщение об ошибке:

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   

Пробное определениеПеременная в make-файле напрямую, получил тот же результат.

Так что, очевидно, этот путь не тот, который я хотел.Как мне установить правильный путь?

Ответы [ 5 ]

1 голос
/ 26 июля 2013

Это проблема предыдущих сборок NDK, которые Google исправил с помощью NDK-9. "Обновлен ndk-build для поддержки абсолютных путей в LOCAL_SRC_FILES."

См. Примечания к выпуску здесь: http://developer.android.com/tools/sdk/ndk/index.html

1 голос
/ 20 января 2012

Почему бы просто не указать пути в файле make? (Н.Б. Только что заметил, что вы попробовали это.)

Использование Cygwin с Android NDK

Похоже, этот сайт указывает на то, что файл make не будет работать правильно в Eclipse, и вам следует запустить его через Windows Explorer. Вы запускаете это в Eclipse? Попробуйте это и посмотрите, если у вас все еще есть проблемы.

0 голосов
/ 03 апреля 2014

Последние версии NDK для Windows не нуждаются в Cygwin.Хуже того, они не распознают нотацию Cygdrive.Вы можете просто использовать

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

коррекция абсолютные пути для LOCAL_SRC_FILES не работают для ndk.r7, и даже для r9 ANDROID-MK.doc не поощряет использование там абсолютных путей.

0 голосов
/ 18 мая 2013

Вы можете отредактировать eclipse.ini файл и добавить его туда.

например, -DLOCAL_SRC_FILES=/home/user/.../

Или объявить переменную пути .Это удобный способ поделиться общим местоположением между несколькими проектами в рабочей области.

Надеюсь, что вам это поможет!

0 голосов
/ 28 января 2012

Попробуйте поиграть с переменной LOCAL_PATH.Как указано в документации (docs/ANDROID-MK.html в пакете Android NDK или здесь ):

LOCAL_SRC_FILES

Это список исходных файлов, которые будутпостроен для вашего модуля.Перечисляйте только те файлы, которые будут переданы компилятору, поскольку система сборки автоматически вычисляет зависимости для вас.

Обратите внимание, что все имена исходных файлов относятся к LOCAL_PATH, и вы можете использовать компоненты пути

Кроме того, 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.

Таким образом, я бы попробовал следующее:

LOCAL_PATH := /

... или вообще сбросил его:

LOCAL_PATH :=
...