提高找不到本地安装的icu的

时间:2019-05-08 12:54:32

标签: linux boost icu

我正在尝试构建libboost 1.70.0。 我已经编译了ICU4C,并在我的$HOME/usr上本地安装了它。为了帮助找到它,我也建立了icu-config。 我的$HOME/usr/lib环境变量中有LD_LIBRARY_PATH,而我的$HOME/usr/bin中有PATH

我正在这样运行bootstrap

./bootstrap.sh --with-icu=$HOME/usr/ --prefix=$HOME/usr/

输出表明将启用icu。并且提供的路径以bjam配置保存。

稍后,当运行

./b2 --reconfigure

它说将不使用ICU:

- bzip2                    : yes
- lzma                     : no
- zstd                     : no
- iconv (libc)             : yes
- icu                      : no
- icu (lib64)              : no
- native-atomic-int32-supported : yes

尽管不是很关键,但有趣的是它甚至在本地安装时也找不到lzma。

我有点迷茫,不知道我在想什么。重新编译了ICU几次,尝试了我在网上找到的其他方法,但没有任何效果。欢迎任何帮助。


Config.log显示,

In file included from /home/ambs/usr/include/unicode/uversion.h:30:0,
                 from libs/regex/build/has_icu_test.cpp:12:
/home/ambs/usr/include/unicode/umachine.h:340:13: error: char16_t does not name a type
     typedef char16_t UChar;
             ^
In file included from libs/regex/build/has_icu_test.cpp:12:0:
/home/ambs/usr/include/unicode/uversion.h:173:55: error: UChar does not name a type
 u_versionFromUString(UVersionInfo versionArray, const UChar *versionString);
                                                       ^

以及其他类似错误。我(嗯,我想是)正在使用相同的编译器进行编译(该编译器也不在标准路径中,但是在我的路径中)。

1 个答案:

答案 0 :(得分:0)

虽然我不理解为什么bjam无法正确检测到编译器(如果我使用的话)

./bjam  cxxflags='-std=c++11'

然后,不仅我有ICU,因为我检测到C ++ 11功能。

相关问题