Cth*_*heW -11 java eclipse cygwin unix-ar
我正在做一个有节奏的现实计划.我被交给了这个项目,并且是cygwin和android编程的新手.我必须使用cygwin来编译我的一个cpp文件.但是当我在cygwin上进行ndk-build时会出现这个错误:
$ ndk-build
Android NDK: ERROR:/cygdrive/c/project/jni/Android.mk:QCAR-prebuilt: LOCAL_SRC_FILES points to a missing file
Android NDK: Check that /cygdrive/c/project/jni//../../../build/lib/armeabi/libQCAR.so exists or that its path is correct
/cygdrive/c/android-ndk-r8b/build/core/prebuilt-library.mk:43: *** Android NDK: Aborting . Stop.
Run Code Online (Sandbox Code Playgroud)
这是我的android.mk代码:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := QCAR-prebuilt
LOCAL_SRC_FILES = /../../../build/lib/$(TARGET_ARCH_ABI)/libQCAR.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../../build/include
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := ImageTargets
# The TARGET_PLATFORM defines the targetted Android Platform API level
TARGET_PLATFORM := android-5
# This variable determines the OpenGL ES API version to use:
# If set to true, OpenGL ES 1.1 is used, otherwise OpenGL ES 2.0.
USE_OPENGL_ES_1_1 := false
# Set OpenGL ES version-specific settings.
ifeq ($(USE_OPENGL_ES_1_1), true)
OPENGLES_LIB := -lGLESv1_CM
OPENGLES_DEF := -DUSE_OPENGL_ES_1_1
else
OPENGLES_LIB := -lGLESv2
OPENGLES_DEF := -DUSE_OPENGL_ES_2_0
endif
LOCAL_CFLAGS := -Wno-write-strings $(OPENGLES_DEF)
LOCAL_LDLIBS := \
-llog $(OPENGLES_LIB)
LOCAL_SHARED_LIBRARIES := QCAR-prebuilt
LOCAL_SRC_FILES := ImageTargets.cpp SampleUtils.cpp Texture.cpp
LOCAL_ARM_MODE := arm
include $(BUILD_SHARED_LIBRARY)**
Run Code Online (Sandbox Code Playgroud)
我不是编程的专家所以我想要一些指导.
小智 11
有同样的问题,试过多条路径但是工作.最后通过简单地复制Development\Android\vuforia-sdk-android-2-0-30\samples文件夹中的示例项目然后通过cygwin执行ndk-build来解决它的问题.希望有所帮助:-)
显然,默认Android.mk假定ImageTargets文件夹位于../vuforia-sdk-android-x-x-xx/samples/ImageTargets-x-x-x,但在我下载样本并将它们提取到samples目录后,位置如下:../vuforia-sdk-android-x-x-xx/samples/vuforia-sampleapps-android-x-x-xx/ImageTargets-x-x-x.事实证明,还有一个额外的子目录,这就是构建失败的原因.为了使它工作,我编辑Android.mk如下:
LOCAL_SRC_FILES = /../../../build/lib/$(TARGET_ARCH_ABI)/libQCAR.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../../build/include
Run Code Online (Sandbox Code Playgroud)
应改为
LOCAL_SRC_FILES = /../../../../build/lib/$(TARGET_ARCH_ABI)/libQCAR.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../../../build/include
Run Code Online (Sandbox Code Playgroud)
,附加的一组/..照顾该额外的子文件夹.这个解决方案对我有用.
| 归档时间: |
|
| 查看次数: |
21683 次 |
| 最近记录: |