2007年01月27日

MacOS X/Darwin での shared library の作り方

最近のライブラリでは、ソースに添付の configure スクリプトを実行することで適切な libtool スクリプトが作られ、それを用いることで shared library が問題なく作られます(ライブラリによっては configure スクリプトに --enable-shared オプションが必要かも知れません)。

しかし古いライブラリでは MacOS X/Darwin に対応していないものも多く、その場合は以下のような方法で shared library を作ることが可能です。この例では /usr/local/lib にライブラリをインストールしています。

(1) コンパイル (オブジェクトファイルの作成)
gcc -fPIC -c ソースファイル

(2) リンク (改行せず 1行で実行)
gcc -dynamiclib -undefined error
    -install_name /usr/local/lib/libX.Y.dylib
    -o libX.Y.Z.dylib オブジェクトファイル
ここで X はライブラリ名、Y はメジャーバージョン番号、Z はマイナーバージョン番号

(3) インストール
# install -c libX.Y.Z.dylib /usr/local/lib
# cd /usr/local/lib
# ln -s libX.Y.Z.dylib libX.Y.dylib
# ln -s libX.Y.Z.dylib libX.dylib

posted by yamaga at 16:04| Comment(0) | TrackBack(0) | macOS / Darwin | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック