3
我试图建立与Android NDK ICU支持sqlite的,在我的Android.mk我有以下几点:
的Android NDK - 错误与建设ICU支持sqlite的时候
SQLITE3_INCLUDE_DIRS := -I/home_folder/dev/platform_external_icu4c/common -I/home_folder/dev/platform_external_icu4c/i18n
但是当我尝试编译我有一大堆undefined reference
错误的:如libicuuc.a
./obj/local/armeabi/objs/sqlite3_jni/sqlite3secure.o: In function `icuNext':
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125631: undefined reference to `ubrk_current_46'
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125632: undefined reference to `ubrk_next_46'
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125640: undefined reference to `u_isspace_46'
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125640: undefined reference to `u_isspace_46'
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125660: undefined reference to `u_strToUTF8_46'
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125639: undefined reference to `utf8_nextCharSafeBody_46'
./obj/local/armeabi/objs/sqlite3_jni/sqlite3secure.o: In function `icuClose':
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125605: undefined reference to `ubrk_close_46'
./obj/local/armeabi/objs/sqlite3_jni/sqlite3secure.o: In function `icuLikeCompare':
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125075: undefined reference to `u_foldCase_46'
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125076: undefined reference to `u_foldCase_46'
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125052: undefined reference to `utf8_countTrailBytes_46'
./obj/local/armeabi/objs/sqlite3_jni/sqlite3secure.o: In function `icuOpen':
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125573: undefined reference to `u_foldCase_46'
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125588: undefined reference to `ubrk_open_46'
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125582: undefined reference to `utf8_nextCharSafeBody_46'
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125595: undefined reference to `ubrk_first_46'
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125570: undefined reference to `utf8_nextCharSafeBody_46'
./obj/local/armeabi/objs/sqlite3_jni/sqlite3secure.o: In function `icuLikeFunc':
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125126: undefined reference to `utf8_nextCharSafeBody_46'
./obj/local/armeabi/objs/sqlite3_jni/sqlite3secure.o: In function `icuCollationDel':
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125312: undefined reference to `ucol_close_46'
./obj/local/armeabi/objs/sqlite3_jni/sqlite3secure.o: In function `icuFunctionError':
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125152: undefined reference to `u_errorName_46'
./obj/local/armeabi/objs/sqlite3_jni/sqlite3secure.o: In function `icuLoadCollation':
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125371: undefined reference to `ucol_open_46'
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125382: undefined reference to `ucol_close_46'
./obj/local/armeabi/objs/sqlite3_jni/sqlite3secure.o: In function `icuCollationColl':
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125328: undefined reference to `ucol_strcoll_46'
./obj/local/armeabi/objs/sqlite3_jni/sqlite3secure.o: In function `icuCaseFunc16':
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125293: undefined reference to `u_strToUpper_46'
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125295: undefined reference to `u_strToLower_46'
./obj/local/armeabi/objs/sqlite3_jni/sqlite3secure.o: In function `icuRegexpFunc':
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125216: undefined reference to `uregex_setText_46'
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125223: undefined reference to `uregex_matches_46'
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125234: undefined reference to `uregex_setText_46'
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125204: undefined reference to `uregex_open_46'
./obj/local/armeabi/objs/sqlite3_jni/sqlite3secure.o: In function `icuRegexpDelete':
/home_folder/workspace/ndk-sqlite/jni/sqlite3.c:125163: undefined reference to `uregex_close_46'
ICU已经可以在Android上连接到? – tofutim 2012-02-09 18:05:12
Android上安装了一个ICU版本。但有一些问题需要解决:1)您必须依赖任何特定设备上的版本,并且这些版本会有所不同; 2)使ICU功能强大的内置数据(转换等)也会因设备而异。 – NuSkooler 2012-02-10 23:24:20
您是否知道图表是否存在跨设备的ICU内置数据?听起来像是依靠风险。我需要Break Iterators。 – tofutim 2012-02-11 08:02:26