Проблема с синтаксисом Android.mk - PullRequest
2 голосов
/ 26 декабря 2011

У меня простая проблема.

Вот мой 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)

Ответы [ 2 ]

7 голосов
/ 26 декабря 2011

Вы не можете добавлять комментарии в определение переменной в 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
2 голосов
/ 26 декабря 2011

убедитесь, что у вас нет пробелов после обратной косой черты, также я не уверен, что добавление пустых строк / комментариев между линиями, заканчивающимися обратной косой чертой, в порядке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...