MacOS Xにおける共有ライブラリの作り方
● バンドル
・dylibよりサイズが少し小さい。何らかの情報が削られているのだろう。
・dylibとして参照しようとするとリンカがエラーを出す。
・拡張子.bundleのファイルは実際にはディレクトリだが、
*.bundle/Contents/MacOS/*はdylibでなくbundle形式。
・fileコマンドはMach-O bundle ppcと表示する。
・MacOS XにおけるJNIのライブラリはこの形式。おそらくdylibでも問題無いとは思うが...
cc -o libahya.jnilib -bundle ahya.o
● 共有ライブラリ
・linuxにおける.soと同じ。拡張子は.dylib。
・fileコマンドはMach-O dynamically linked shared library ppcと表示する。
・frameworkの中身もこの形式。
cc -o libahya.dylib -dynamiclib -compatibility_version 1 -current_version 1 ahya.o