【发布时间】:2016-07-20 05:17:05
【问题描述】:
为了理解 ICU 及其 API,我编写了一个示例程序,该代码将链接到的库是 -licuuc 和 -licui18n。由于 libicu-devel.x86_64 软件包已安装在测试系统上,因此这些库可用。
为了了解如何将 ICU 库与我的面向 centOS 平台的应用程序集成,我偶然发现了这个page,上面写着:
为了简单地使用 ICU 的预定义数据,可以安全地跳过这部分数据管理。数据被构建到一个库中,该库与 ICU 的其余部分一起加载。应用程序或执行环境都不需要特定的操作或设置。
这表示如果应用程序无意添加自己的数据,则可以使用库中可用的数据。在我安装了 ICU 的测试系统上,这些是文件:
$ sudo find . -name "*icu*"
./opt/rbt_boost/include/boost/regex/icu.hpp
./lib64/libicui18n.so.42
./lib64/libicui18n.so.42.1
./lib64/libicuuc.so.42.1
./lib64/libicuuc.so.42
./usr/lib64/libicui18n.so.42
./usr/lib64/libicule.so
./usr/lib64/libicuio.so.42
./usr/lib64/libicutu.so
./usr/lib64/libiculx.so.42.1
./usr/lib64/pkgconfig/icu.pc
./usr/lib64/libicui18n.so
./usr/lib64/libicui18n.so.42.1
./usr/lib64/libicule.so.42.1
./usr/lib64/libicuuc.so.42.1
./usr/lib64/libiculx.so
./usr/lib64/libicuuc.so.42
./usr/lib64/libicuio.so.42.1
./usr/lib64/icu
./usr/lib64/libicudata.so.42
./usr/lib64/libicule.so.42
./usr/lib64/libicutu.so.42.1
./usr/lib64/libicuio.so
./usr/lib64/libicudata.so
./usr/lib64/libicudata.so.42.1
./usr/lib64/libiculx.so.42
./usr/lib64/libicutu.so.42
./usr/lib64/libicuuc.so
./usr/bin/icu-config
./usr/share/icu
./usr/share/man/man1/icu-config.1.gz
./var/lib/yum/yumdb/l/e59bf24facac0acba1622a5180d0e2a22dda69c8-libicu-devel-4.2.1-9.1.el6_2-x86_64
./var/lib/yum/yumdb/l/7062f72703a5afbf894d617b94db3d4769fe643d-libicu-4.2.1-9.1.el6_2-x86_64
问题:
哪些 ICU 库(和文件)应与应用程序一起打包以使 ICU 数据在运行时可用?如前所述,我使用 libicui18n 和 libicuuc 库进行链接,因此需要存在这些库。
除了上述两个库之外,libicudata,顾名思义,似乎是显而易见的候选者。对吗?
是否有静态版本的 libicui18n 和 libicuuc 库可供使用或必须构建它?
一般来说,将 ICU 与产品集成的流程是什么?
谢谢!
【问题讨论】:
标签: icu