我遇到了一个简单的问题。
这是我的Android.mk:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libandroidgameengine
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../include/ \
$(LOCAL_PATH)/../interface/ \
$(LOCAL_PATH)/../include/Render \
$(LOCAL_PATH)/../include/Utils
LOCAL_SRC_FILES := # Core
../src/Engine.cpp \
# Rendering
../src/Render/RenderManagerImpl.cpp \
# Utils
../src/Utils/LogManagerImpl.cpp \
# Memory
../src/Memory/MemoryManagerImpl.cpp \
../src/Memory/malloc.c
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_C_INCLUDES)
LOCAL_CFLAGS := -DSTRUCT_MALLINFO_DECLARED
LOCAL_LDLIBS := -lGLESv2 -llog
我一直在第一个目标之前开始“Android.mk:11 * 命令”错误。我知道它与我构造源文件的方式有关(使用主题标签来表示引擎的特定部分)但我不明白它实际上应该是什么样子。任何提示? 包括$(BUILD_STATIC_LIBRARY)
答案 0 :(得分:6)
您无法在Make中为变量定义添加注释。
LOCAL_SRC_FILES := # Core
../src/Engine.cpp \
...
Makefile语法是基于行的,因此在上面的代码中,解析器只将第一行视为变量赋值(实际上它将LOCAL_SRC_FILES
设置为空字符串)。第二行被解析为独立语句,在您的情况下作为配方(由于前导选项卡)。
尝试从变量定义中删除注释:
LOCAL_SRC_FILES := \
../src/Engine.cpp \
../src/Render/RenderManagerImpl.cpp \
../src/Utils/LogManagerImpl.cpp \
../src/Memory/MemoryManagerImpl.cpp \
../src/Memory/malloc.c
或者使用追加运算符拆分它并将注释留在外面:
# Core
LOCAL_SRC_FILES := ../src/Engine.cpp
# Rendering
LOCAL_SRC_FILES += ../src/Render/RenderManagerImpl.cpp
# Utils
LOCAL_SRC_FILES += ../src/Utils/LogManagerImpl.cpp
# Memory
LOCAL_SRC_FILES += \
../src/Memory/MemoryManagerImpl.cpp \
../src/Memory/malloc.c
答案 1 :(得分:2)
确保反斜杠后没有空格,我也不确定在反斜杠结束行之间添加空白行/注释是否正常