赤紫蘇2
BCB6でICU/Xerces-C++を使う
BCB6で、Xerces-C++を使用する際に、ICUを文字コード変換エンジンとして使うのは、難しいことでした。
BCB用のICUプロジェクトファイルが無いこと、ICUのビルド手順が独特であることがその理由です。
しかし、赤紫蘇の開発メンバである吉岡さんが、その壁を破りました。
以下の手順で、BCB6においても、Xerces-C++の文字コード変換エンジンとしてICUを使用することができます。どうぞ、お試しください。
- Xerces-C++のソースアーカイブ("xerces-c-src_2_5_0.zip"), と、ICUのVC7用バイナリ("icu_2.8-Win32_msvc7.zip")をダウンロード。
- ダウンロードしたアーカイブを適当な場所に展開する。
- それぞれのパスを環境変数に追加する。例えば、どちらも"C:\"直下に展開した場合は以下のようにする。
$(XERCESCROOT)="C:\xerces-c-src_2_5_0", $(ICUROOT)="C:\icu"
- $(ICUROOT)\bin のDLLをパスが通った場所にコピーする。
- COFF2OMFで $(ICUROOT)\lib\icuuc.lib を変換する。
coff2omf icuuc.lib icuuc_bcb6.lib
- $(XERCESCROOT)\Projects\Win32\BCB6\Xerces-all\Xerces-all.bpg を開く。
- XercesLib.dll プロジェクトに以下のファイルを追加する。
$(XERCESCROOT)\src\xercesc\util\Transcoders\ICU\ICUTransService.cpp
$(ICUROOT)\lib\icuuc_bcb6.lib
- XercesLib.dll のプロジェクトオプションのディレクトリ条件のタブを開く。
- インクルードパスに $(ICUROOT)\include を追加する。
- 条件定義の "XML_USE_WIN32_TRANSCODER" を "XML_USE_ICU_TRANSCODER"に置換する。
- プロジェクトをメイクする(すぐに終わった場合はもう一度メイク)。
- $(XERCESCROOT)\Build\Win32\BCB6\XercesLib.dll をパスが通った場所にコピーする。
ホームに戻る 赤紫蘇2プロジェクトページへ