4

私は数日間、UIMA C ++フレームワーク(http://uima.apache.org/)に基づいたプロジェクトを構築しようとしています。私は現在、バージョン2.4.0のリリース候補6を使用しています。これには、LinuxとWindowsのバイナリが付属しており、すべての依存関係を簡単にバンドルできます。

特に、ICU用のバイナリライブラリが付属しています(3.6だと思います)。

私のプロジェクトでは、C ++ UIMAアノテーターを構築しており、コードはBoostC++ライブラリv1.51.0を使用しています。

すべてが正常にコンパイルされますが、実行時に、使用を開始するとアクセス違反の例外が発生します。たとえば、演算子<<(ostream&、const icu :: UnicodeString&)を使用します。BoostとUIMAC++の間のバージョンの非互換性の問題である可能性があります。

だから、私は自分のマシンでBoostを再コンパイルして、UIMA C ++に付属するICUを再利用するように指示しようとしていますが、ビルド時に使用可能なICUがないというメッセージが常に表示されるため、MSVCツールセットに問題があるようです。ブースト:

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を構築できた人はいますか?

ありがとう、シルヴァン

4

5 に答える 5

0

ブーストは 6 歳の ICU では機能しない可能性があります。代わりに UIMA を再構築できますか?

于 2012-08-28T19:55:18.017 に答える
0

boost/libs/regex/build/has_icu_test.cpp を見てください。頭のてっぺんから修正/問題を思い出せませんが、チートして main() から単に 0 を返すことができるはずです。

于 2012-08-27T15:03:50.013 に答える
0

I'm experiencing the same problem. And the way I choose to work around it is to make a copy of icuin.lib and name it as icuind.lib, and so for other libs. Then bjam says it has found icu.

于 2012-09-14T07:28:39.780 に答える
0

次のように私のコマンドライン:

bjam -sICU_PATH=c:\icu --toolset=msvc-10.0 variant=release stage

\bin.v2\config.log を調べてください

正確なエラーが含まれています。私の場合、リンクするための特定のライブラリがないことでした

...found 10 targets...
...found 3 targets...
...found 66 targets...
...updating 2 targets...
msvc.link bin.v2\libs\regex\build\msvc-10.0\debug\threading-multi\has_icu.exe
LINK : fatal error LNK1181: cannot open input file 'icuind.lib'

問題は、バリアント = リリースが要求された場合でも、ブースト ビルドがデバッグ ライブラリを検索することです。

于 2012-09-11T15:16:41.733 に答える