ICUのUniversal Binary版のビルド方法

ICU (International Components for Unicode) はUnicodeやプログラムの国際化を支援するライブラリです。C/C++やJavaから使用することが出来ます。Mac OS X にはもともとOSが内部で使用する目的でICUが組み込まれていますが、これをアプリケーション側から利用することは出来ないようになっています。
そこで、Mac上で利用する場合には、ICUプロジェクトのページからソースをダウンロードしてビルドするということが必要になりますが、ダウンロードした状態のままビルドしたライブラリはUniverasl Binaryになってなく、Deploymentターゲットの設定も行われていないため、ビルド環境に依存したライブラリになってしまいます。この状態ではアプリケーションに組み込んで使って配布することができません。
本ドキュメントはICUのソースから次のように設定されたライブラリをビルドする方法について記述します。

  • Universal Binary
  • Mac OS X 10.4u.sdkを使用する
  • デプロイメントターゲットの設定が「10.3」

なお、ICUはICU4C 3.8.1を使用しました。他のバージョンでは多少事情が異なる可能性がありますのでご注意ください。

ダウンロード

ICUはICU Projectのページからダウンロードしてください。

http://www.icu-project.org/

mh-darwinのカスタマイズ

runConfigureICUから読み込まれる、Mac OS X用の設定をカスタマイズします。source/config/mh-darwinファイルを次のように赤字の部分を追加してください。

ビルド

mh-darwinファイルを編集したら、ターミナルで次のようにデプロイメントターゲットの設定をしてビルドを行います。

ビルドが成功すると、libフォルダに作成されたライブラリが格納されます。また、使用するヘッダ群はcommon/unicodeディレクトリに格納されています。

文字コード変換について

プログラムで文字コードの変換が必要なときには、ICUを使わなくとも、CocoaのNSStringやCore FoundationのCFStringで行うことも出来ます。ICUを利用するメリットはコードの移植性を高めることが出来るという点にあると思います。
Unicodeや文字コードについて詳しく知りたい方は次の関連リンクや参考書籍をご覧ください。

関連リンク

International Components for Unicode
IBM Globalization – ICU
Unicode Home Page

関連記事

  1. Qt 4.5をVisual Studio 2008と組み合わせる

  2. Swiftが1.0になりましたね

  3. Webサイトのデザインリニューアル

  4. MSM 2013 開催です

  5. FileVaultとバックアップ

  6. MSM 2019 in 原宿 のレポートページが公開されました

最近の著書

  1. 基礎から学ぶ SwiftUI

最近の記事

  1. 2020.10.21

    GitLabへの移行
  2. 基礎から学ぶ SwiftUI
  3. 基礎から学ぶ SwiftUI