gpt4 book ai didi

android-ndk - Android.mk语法问题

转载 作者:行者123 更新时间:2023-12-04 02:36:03 25 4
gpt4 key购买 nike

我有一个简单的问题。

这是我的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)

最佳答案

您不能在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


或使用append运算符将其拆分,并在外部放置注释:

# 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

关于android-ndk - Android.mk语法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8638250/

25 4 0
文章推荐: matlab - 平面图图像的热图生成器
文章推荐: Ajax Bootstrap 弹出框 : Object # has no method 'popover'