我知道之前曾问过这个问题,但我尝试了所有现有的解决方案,但没有一个解决了这个问题。
我正在尝试创建一个简单的hello world原生应用程序(二进制而不是apk)但是当我尝试使用“ndk-build”进行编译时,我不断收到此错误消息
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := main.out
LOCAL_SRC_FILES := main.cpp
include $(BUILD_EXECUTABLE)
Application.mk
APP_ABI := x86
APP_PLATFORM := android-25
APP_STL := stlport_static
APP_BUILD_SCRIPT := Android.mk
的main.cpp
#include <iostream.h>
main()
{
std::cout << "Hello World!";
return 0;
}
这是我文件夹的结构
.
└── jni
├── Android.mk
├── Application.mk
└── main.cpp
答案 0 :(得分:0)
在这种情况下,设置APP_BUILD_SCRIPT
不应该是必需的,因为您似乎使用默认名称和位置。
但是,假设您的Android.mk
被命名为foo.mk
。关于APP_BUILD_SCRIPT
的事情是“构建系统总是将非绝对路径解释为相对于NDK的顶级目录”。
所以你可能想要指定一个绝对路径,但最好不是一个完全硬编码的路径,因为如果你在计算机上移动东西或试图将项目移动到另一台计算机上,这会使事情变得复杂。
您可以通过以下方式解决此问题:
MY_APP_DIR := $(call my-dir)
APP_BUILD_SCRIPT := $(MY_APP_DIR)/foo.mk