Linker 如何使用ndk build编译自定义文件夹结构?

Linker 如何使用ndk build编译自定义文件夹结构?,linker,android-ndk,shared-libraries,Linker,Android Ndk,Shared Libraries,我有下一个文件夹结构: 关于$My_Eclipse_项目 jni/Android.mk jni/Application.mk jni/main.cpp 解放党/ 关于$My_Library_项目 src/ 包括/ Android.mk $My_Eclipse_Project/jni/main.cpp是一个基本的makefile,根据$My_Library_Project/Android.mk中的说明调用源代码进行编译 # NOTE: $(warning Compiling Andr

我有下一个文件夹结构:


关于$My_Eclipse_项目

  • jni/Android.mk
  • jni/Application.mk
  • jni/main.cpp
  • 解放党/

关于$My_Library_项目

  • src/
  • 包括/
  • Android.mk

$My_Eclipse_Project/jni/main.cpp是一个基本的makefile,根据$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) #注: $(从sample\u cameraview\u活动编译Android.mk时发出警告) #这条路 本地路径:=$(调用我的目录) $(警告本地路径:$(本地路径)) #GNU变量 包括$(清除变量) #包括额外的图书馆 include$(mylibrary\u include)/../Android.mk #添加openCV #外接程序.bashrc环境变量 包括$(OPENCV\u SHARE\u MK)/OPENCV.MK 本地\u手臂\u霓虹灯:=真 #地方图书馆 本地\u LDLIBS+=-llog-lGLESv1\u CM #名称库 本地_模块:=camView #局部SRC 本地\u SRC\u文件:=main.cpp #共享库 包括$(构建共享库) 问题是,$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. Android NDK:找不到应用程序项目目录! Android NDK:请定义NDK_PROJECT_PATH变量以指向它。 我如何从$My_Eclipse_项目编译$My_Library_项目的代码,并复制在$My_Eclipse_Project>lib/armeabi上生成的库以供main.cpp使用


提前感谢。

2个选项。您可以定义$NDK_PROJECT_PATH=/your_NDK_PATH,使文件自动检测路径并使用它进行编译,或者添加名为$NDK_PROJECT_PATH和值/your_NDK_PATH的环境变量