2011-12-26 6 views
1

私は簡単な問題があります。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 *コマンドが最初のターゲットの前に開始":

は、ここに私のAndroid.mkです。私はそれがソースファイル(エンジンの特定の部分を象徴するハッシュタグ付き)を構造化する方法と関係があることを知っていますが、実際にどのように見えるのか分かりません。何かヒント? は$(BUILD_STATIC_LIBRARY)

答えて

5

であるあなたは、変数にコメントを追加することはできませんMakeの定義。

LOCAL_SRC_FILES := # Core 
        ../src/Engine.cpp \ 

... 

Makefileの構文は、最初の行のみが変数代入として(効果的には、空の文字列にLOCAL_SRC_FILESを設定し)、したがってパーサ扱い上記のコードでは、行ベースです。 2番目の行は、独立したステートメントとして解析されます(先頭のタブのために)。

は、変数の定義からコメントを削除してください:

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 
+0

2番目のオプションは良いアイデアのようですが、試してみます – KaiserJohaan

2

が含まれ、バックスラッシュの間に空白行/コメントを追加する場合にも、私はわからない、あなたはバックスラッシュの後にはスペースがないことを確認してくださいラインを終了し、[OK]

+0

を私はスペースがバックスラッシュの後に存在しないことを確認作りました。また、確かにあなたはコメント行を持つことができなければなりません。 '\'の後の – KaiserJohaan

+0

スペースが私の問題でした。タイ! –