2
我試圖通過ndk構建libiconv。我從來沒有使用make文件之前,所以我學習,我去用這個建議作爲一個起點:NDK和libiconv
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。我繞過這個問題,並遇到更多定義相關的問題。基本上沒有任何標誌被定義。任何人都知道我做錯了什麼,或者爲什麼它可能沒有定義?
這是因爲雙引號被shell識別並刪除。或者,您可以用單引號'-DLIBDIR ='「c」''來包裝它(有關更多詳細信息,請參閱http://stackoverflow.com/a/14030713/1688185)。 – deltheil