2

我正在尝试通过 ndk 构建 libiconv。我以前从未使用过 make 文件,所以我边走边学,并以此建议为起点:

https://groups.google.com/forum/#!msg/android-ndk/AS1nkxnk6m4/EQm09hD1tigJ

这是我的 Android.mk:

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_CLFAGS := \
    -Wno-multichar \
    -D_ANDROID \
    -DLIBDIR="c" \
    -DBUILDING_LIBICONV \
    -DIN_LIBRARY \

LOCAL_SRC_FILES := \
    lib/iconv.c \
    lib/relocatable.c \
    libcharset/lib/localcharset.c

LOCAL_C_INCLUDES := \
    $(LOCAL_PATH)/include/ \
    $(LOCAL_PATH)/lib/ \
    $(LOCAL_PATH)/libcharset/include/ \

LOCAL_MODULE    := libiconv 

include $(BUILD_STATIC_LIBRARY) 

我遇到的问题是编译时不存在任何定义。 LIBDIR是到达localcharset.c时的第一个问题:

#ifndef LIBDIR
# include "configmake.h"
#endif

.

localcharset.c: In function 'get_charset_aliases':
localcharset.c:136:15: error: 'LIBDIR' undeclared (first use in this function)
localcharset.c:136:15: note: each undeclared identifier is reported only once

并且找不到configmake.h。我绕过了这个问题并遇到了更多定义相关的问题。基本上没有定义任何标志。任何人都知道我做错了什么或为什么它可能无法定义?

4

1 回答 1

2

引号需要转义。我在文档中找不到这个。

-DLIBDIR=\"c\"

于 2013-11-04T08:55:54.797 回答