我想编译静态链接到icu的icu sqlite extension .
这就是我尝试过的,也许这个错误对你很明显 .
> cd icu/source
> ./runConfigureIcu Linux --enable-static --with-packaging-format=archive
...
> make
> cd ../../icu-sqlite
> gcc -o libSqliteIcu.so -shared icu.c -I../icu/source/common
-I../icu/source/i18n -L ../icu/source/lib -lsicuuc -lsicui18n -lsicudata
...
> sqlite3
> .load "libSqliteIcu.so"
Undefined symbol utf8_countTrailBytes
档案
icu sqlite扩展
Download icu.c from sqlite.org
ICU 4.2.1
Download ICU4C from icu-project.org
我的要求
-
在Linux和Windows上运行
-
我只需分发一个文件:
libSqliteIcu.so
.
知道我还能尝试什么吗?
2 回答
这个命令行在Linux上适用于我:
注意库文件的顺序,并使用g来确保即使我们正在编译C文件也引用了c运行时 .
NB . 我使用了
icu-config --prefix=../icu/source --ldflags
的输出 .我遇到了和你一样的问题 . 您可以编辑icu \ include \ utf8.h并替换以下行
同
这应该可以解决问题 .