gpt4 book ai didi

android - 在包含 BUILD_SHARED_LIBRARY 之前缺少 LOCAL_MODULE

转载 作者:太空宇宙 更新时间:2023-11-03 22:54:36 28 4
gpt4 key购买 nike

我正在尝试在 Eclipse 中设置一个 NDK 项目。我已经构建了 NDK,因为我的示例程序运行正常。但是,现在当我运行我的代码时,我遇到了这个错误

*** Android NDK: Missing LOCAL_MODULE before including BUILD_SHARED_LIBRARY in jni/Android.mk . Stop.

我试过通过这个问题解决 Android NDK: Missing LOCAL_MODULE before including BUILD_SHARED_LIBRARY

但是,它不起作用。请帮我。以下是我的Android.mk文件

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
OPENCV_CAMERA_MODULES:= off
OPENCV_MK_PATH:D:\FYP\darwinwallet-master\OpenCV-2.4.9-android-sdk\sdk\native\jni\OpenCV.mk
OPENCV_LIB_TYPE:=STATIC
OPENCV_INSTALL_MODULES:=on
include $(OPENCV_MK_PATH)
LOCAL_C_INCLUDES:=D:\FYP\darwinwallet-master\OpenCV-2.4.9-android-sdk\sdk\native\jni\include\
LOCAL_MODULE:=native_wallet
LOCAL_SRC_FILES:=jni_recognizer.cpp NativeVision/vision.cpp
LOCAL_CFLAGS=-ffast-math -O3 -funroll-loopsLOCAL_LDLIBS+=-llog -ldl
include $(BUILD_SHARED_LIBRARY)

下面是我的build-shared-library.mk

LOCAL_BUILD_SCRIPT := BUILD_SHARED_LIBRARY
LOCAL_MAKEFILE := $(local-makefile)
$(call check-defined-LOCAL_MODULE,$(LOCAL_BUILD_SCRIPT))
$(call check-LOCAL_MODULE,$(LOCAL_MAKEFILE))
$(call check-LOCAL_MODULE_FILENAME)
my := TARGET_
$(call handle-module-filename,lib,$(TARGET_SONAME_EXTENSION))
$(call handle-module-built)
LOCAL_MODULE_CLASS := SHARED_LIBRARY
include $(BUILD_SYSTEM)/build-module.mk

最佳答案

不要在你的 make 文件中使用反斜杠,这太危险了。即使在 Windows 上,您也可以使用正斜杠,即将所有 \ 更改为 /。这将立即解决您的问题。

具体来说,您定义 LOCAL_C_INCLUDES 的行以 \ 结尾,这意味着对于 ma​​ke 它不会结尾。 ma​​ke 尽职尽责地加入下一行,所以它实际看到的是这样的


LOCAL_C_INCLUDES:=D:\…\include\LOCAL_MODULE:=native_wallet
LOCAL_SRC_FILES:=jni_recognizer.cpp NativeVision/vision.cpp

但实际上,在您include OpenCV.mk 后,无需重新定义LOCAL_C_INCLUDES。此脚本负责为您设置包含路径、标志和库依赖项。

关于android - 在包含 BUILD_SHARED_LIBRARY 之前缺少 LOCAL_MODULE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33238163/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com