在 ubuntu 上构建 libicu 时,我在哪里定义 U_USING_ICU_NAMESPACE?

When building libicu on ubuntu, where do I define U_USING_ICU_NAMESPACE?

我正在 Ubuntu Linux.

上构建 libicu

Recommended Build Options中,文档建议我应该使用-DU_USING_ICU_NAMESPACE=0-DU_CHARSET_IS_UTF8=1

我的构建过程如下

wget -nv http://download.icu-project.org/files/icu4c/55.1/icu4c-55_1-src.tgz -O icu4c-55_1-src.tgz
tar -zxvf icu4c-55_1-src.tgz 
mkdir -p build
cd build
../icu/source/runConfigureICU Linux
make check

我在哪里提供参数 -DU_USING_ICU_NAMESPACE=0-DU_CHARSET_IS_UTF8=1 configuremake 似乎都不接受这些参数.

对于命令行尝试使用:CPPFLAGS="-DU_CHARSET_IS_UTF8=1" 参见 here

所以你的 command-line 变成

wget -nv http://download.icu-project.org/files/icu4c/55.1/icu4c-55_1-src.tgz -O icu4c-55_1-src.tgz
tar -zxvf icu4c-55_1-src.tgz 
mkdir -p build
cd build
CPPFLAGS="-DU_CHARSET_IS_UTF8=1" ../icu/source/runConfigureICU Linux
make check

或者直接修改headers。见 here 如果您正在重建很多并且想要一个简单的命令行但确实需要您 re-apply 如果源文件得到更新则更改。