Android.mk相对路径还是绝对路径?

我正在尝试使用 android ndk(在 Windows上)构建一个项目,我有一些专门针对源文件的问题( Android.mk中的LOCAL_SRC_FILES)

我正在尝试使用相对路径到父文件夹,如

LOCAL_SRC_FILES:= ../../../src/main.cpp

运行ndk_build.cmd时,它会输出以下错误

Compile++ thumb : GTP <= main.cpp
The system cannot find the file specified.
make: *** [obj/local/armeabI/Objs/GTP/__/__/__/src/.o] Error 1

所以我尝试使用绝对路径

LOCAL_SRC_FILES := D:/Path/To/src/main.cpp

不幸的是,这不起作用,因为: causes issues on windows

有什么办法可以在相对目录(或绝对)中指定源文件吗?我问的原因是因为我想避免在可能的情况下建立到src文件夹的符号链接.

解决方法

根据ndk文档,建议使用相对路径和以下宏(Android.mk使用make文件的语法):
LOCAL_PATH := $(call my-dir)

An Android.mk file must begin with the deFinition of the LOCAL_PATH variable.
It is used to locate source files in the development tree. In this example,the macro function 'my-dir',provided by the build system,is used to return
the path of the current directory (i.e. the directory containing the
Android.mk file itself).

所以你可以用类似的东西替换你的LOCAL_SRC_FILES:

LOCAL_SRC_FILES := $(LOCAL_PATH)/../../../src/main.cpp

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...