错误:未指定目标并且找不到makefile。停止

3
这个问题看起来像是make *** no targets specified and no makefile found. stop的重复,但我的问题略有不同,我也尝试了那个解决方案,但对我不起作用。
我正在处理OpenCV库,并从示例项目开始,但这给了我以下错误。请帮我解决这个错误。
17:31:25 **** Auto Build of configuration Default for project MyFirstOpenCVJNI ****
make 
make: *** No targets specified and no makefile found.  Stop.

17:31:25 Build Finished (took 122ms)

以下是我的Android.mk文件
//Android.mk
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

OPENCV_LIB_TYPE:=STATIC
OPENCV_INSTALL_MODULES:=on

include ../includeOpenCV.mk
include $(OPENCV_MK_PATH)

LOCAL_MODULE    := first-opencvjni
LOCAL_SRC_FILES := first-opencvjni.cpp
LOCAL_LDLIBS +=  -llog -ldl

include $(BUILD_SHARED_LIBRARY)

@blackbelt:请看我的更新帖子,我添加了Android.mk文件代码。 - Samadhan Medge
2个回答

8

经过多次搜索,我解决了这个错误, 右键单击项目->属性->C/C++构建(左侧)->生成器设置->取消“使用默认构建命令”复选框->在“构建命令”复选框中输入“${NDKROOT}/ndk-build.cmd” 在 Windows 操作系统上,请参见以下图像 enter image description here

在进行所有操作之前,您需要在环境设置中将 NDKROOT 环境变量设置为您的 ndk 目录的根文件夹,在我的情况下是 C:\adt-bundle-windows-x86-20130522\android-ndk-r8e。
如果有任何困难或疑问,请告诉我。


1
默认情况下,make会执行名为makefileMakefile的文件。在您的情况下,makefile的名称是Android.mk,因此不要使用$~ make来执行make,而是使用以下命令:$~ make -f Android.mk。我还想知道谁在执行makefile?您是手动执行还是写在某个脚本中?如果是写在脚本中,请尝试将make命令更改为make -f Android.mk,否则如果您无法更改脚本(可能由于某些原因),请将您的Android.mk重命名为makefile并检查它。

我不知道谁在执行makefile文件?我是OpenCV的初学者,最近开始学习OpenCV库。 - Samadhan Medge
Android.mk 是在编译时生成的吗? - Sagar Sakre
我将构建命令更改为${NDKROOT}/ndk-build.cmd,新的错误出现为make: *** [obj/local/armeabi-v7a/objs/first-opencvjni/first-opencvjni.o] Error 1。 - Samadhan Medge
你能告诉我你从开始到现在所采取的步骤吗?这样我就可以在我的电脑上尝试并帮助你。 - Sagar Sakre
我按照 http://docs.opencv.org/opencv_tutorials.pdf 上第57页(1.8 Android开发入门)的教程进行了学习。 - Samadhan Medge

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接