Как скомпилировать пользовательскую структуру папок с помощью ndk-build? - PullRequest
4 голосов
/ 29 февраля 2012

У меня следующая структура папок:


On $ My_Eclipse_Project

  • jni / Android.mk
  • jni / Application.mk
  • jni / main.cpp
  • lib /

On $ My_Library_Project

  • src /
  • include /
  • Android.mk

$ My_Eclipse_Project / jni / main.cpp - это основной make-файл, который вызывает источник для компиляции, следуя инструкциям из $ My_Library_Project / Android.mk

    # NOTE:
$(warning Compiling Android.mk from sample_cameraview_activity)

# This path
LOCAL_PATH := $(call my-dir)
$(warning Local path: $(LOCAL_PATH))

# GNU var
include $(CLEAR_VARS)

# Include extra library
include $(mylibrary_INCLUDE)/../Android.mk

# Add openCV

# Add in .bashrc enviroment var
include $(OPENCV_SHARE_MK)/OpenCV.mk

LOCAL_ARM_NEON := true

# Local libraries

LOCAL_LDLIBS += -llog -lGLESv1_CM

# Name library

LOCAL_MODULE    := camView

# Local SRC

LOCAL_SRC_FILES := main.cpp

# Shared library

include $(BUILD_SHARED_LIBRARY)

Проблема в том, что $ My_Library_Project> Android.mk не определяет структуру папок, которая ожидает, потому что мой источник находится в папке src, а не в папке jni.Я получаю:

Android NDK: Could not find application project directory !    
Android NDK: Please define the NDK_PROJECT_PATH variable to point to it. 

Как я могу скомпилировать код в $ My_Library_Project из $ My_Eclipse_Project и скопировать библиотеку, созданную в $ My_Eclipse_Project> lib / armeabi, для использования main.cpp?

Заранее спасибо.

1 Ответ

4 голосов
/ 06 июня 2012

2 варианта. Вы можете определить $ NDK_PROJECT_PATH = / your_ndk_path, Makefile автоматически определить путь и использовать его для компиляции, или добавить переменную окружения с именем $ NDK_PROJECT_PATH и значением /your_ndk_path.

...