几天来,我一直在尝试构建一个基于 UIMA C++ 框架(http://uima.apache.org/)的项目。我目前使用的是版本 2.4.0 候选版本 6,它带有 Linux 和 Windows 二进制文件,可以轻松捆绑所有依赖项。
特别是,它带有 ICU 的二进制库(我相信是 3.6)。
在我的项目中,我正在构建一个 C++ UIMA 注释器,并且我的代码使用了 Boost C++ 库 v1.51.0。
一切都编译得很好,但是在运行时,我在开始使用时遇到访问冲突异常,比如说 operator <<(ostream&, const icu::UnicodeString&)。可能是Boost和UIMA C++版本不兼容的问题。
所以,我试图在我的机器上重新编译 Boost,告诉它重用 UIMA C++ 附带的 ICU,但是 MSVC 工具集似乎有问题,因为我总是收到消息告诉我在构建时没有可用的 ICU促进:
c:\Users\Sylvain\boost_1_51_0>b2 toolset=msvc-10.0 variant=release -sICU_LINK=c:\users\sylvain\apache-uima\uimacpp
Building the Boost C++ Libraries.
Performing configuration checks
- 32-bit : yes
- x86 : yes
- has_icu builds : no
warning: Graph library does not contain MPI-based parallel components.
note: to enable them, add "using mpi ;" to your user-config.jam
- iconv (libc) : no
- iconv (separate) : no
- icu : no
- icu (lib64) : no
- gcc visibility : no
- long double support : yes
有没有人设法使用 -sICU_PATH 选项和 MSVC 构建 Boost?
谢谢,西尔万