赤紫蘇２

BCB6でICU/Xerces-C++を使う

BCB6で、Xerces-C++を使用する際に、ICUを文字コード変換エンジンとして使うのは、難しいことでした。
BCB用のICUプロジェクトファイルが無いこと、ICUのビルド手順が独特であることがその理由です。

しかし、赤紫蘇の開発メンバである吉岡さんが、その壁を破りました。

以下の手順で、BCB6においても、Xerces-C++の文字コード変換エンジンとしてICUを使用することができます。どうぞ、お試しください。

1. Xerces-C++のソースアーカイブ("xerces-c-src_2_5_0.zip"), と、ICUのVC7用バイナリ("icu_2.8-Win32_msvc7.zip")をダウンロード。
2. ダウンロードしたアーカイブを適当な場所に展開する。
3. それぞれのパスを環境変数に追加する。例えば、どちらも"C:\"直下に展開した場合は以下のようにする。
   $(XERCESCROOT)="C:\xerces-c-src_2_5_0", $(ICUROOT)="C:\icu"
4. $(ICUROOT)\bin のDLLをパスが通った場所にコピーする。
5. COFF2OMFで $(ICUROOT)\lib\icuuc.lib を変換する。
   coff2omf icuuc.lib icuuc_bcb6.lib
6. $(XERCESCROOT)\Projects\Win32\BCB6\Xerces-all\Xerces-all.bpg を開く。
7. XercesLib.dll プロジェクトに以下のファイルを追加する。
   $(XERCESCROOT)\src\xercesc\util\Transcoders\ICU\ICUTransService.cpp
   $(ICUROOT)\lib\icuuc_bcb6.lib
8. XercesLib.dll のプロジェクトオプションのディレクトリ条件のタブを開く。
9. インクルードパスに $(ICUROOT)\include を追加する。
10. 条件定義の "XML_USE_WIN32_TRANSCODER" を "XML_USE_ICU_TRANSCODER"に置換する。
11. プロジェクトをメイクする（すぐに終わった場合はもう一度メイク）。
12. $(XERCESCROOT)\Build\Win32\BCB6\XercesLib.dll をパスが通った場所にコピーする。

ホームに戻る 赤紫蘇２プロジェクトページへ