libpng1.5.4をOSXでビルドする
zlibをビルドする
http://zlib.net/からzlib source code, version 1.2.5をダウンロード、適当なディレクトリ
あとは、configure,make,make installを実行するだけです。
./configure make make install
libz.aやlibz1.2.5.dylibが作成されています。
ソースコードの入手
http://www.libpng.org/pub/png/libpng.html
バージョン1.5.4の表のSource code:から入手→適当なディレクトリ
cd
次にconfigureを呼び出しますが、"./configure"を走らせようとしても動きません→autogen.shを先に呼び出して回避します。
./configure --enable-maintainer-mode make maintainer-clean ./autogen.sh
ところがautogen.shを走らせようとすると下のエラーがでます。
running libtoolize ./autogen.sh: line 15: libtoolize: command not found ERROR: autogen.sh failed, autogen is incomplete
libtoolizeがないとのこと。libtoolize→glibtoolizeに書き換えて実行すればうまくいきます。
autogen.sh
LT=${LIBTOOLIZE-libtoolize}
↓
LT=${LIBTOOLIZE-glibtoolize}
autogen.shを実行します。
$ ./autogen.sh running glibtoolize running aclocal running autoheader [ignore the warnings] running automake configure.ac:39: installing `./config.sub' configure.ac:22: installing `./missing' configure.ac:22: installing `./install-sh' configure.ac:39: installing `./config.guess' Makefile.am: installing `./depcomp' running autoconf autogen complete
あとはconfigureでmakefileを作成します。
$ ./configure checking for a BSD-compatible install... /usr/bin/install -c ....省略 .... configure: creating ./config.status config.status: creating Makefile config.status: creating libpng.pc config.status: creating libpng-config config.status: creating config.h config.status: executing depfiles commands config.status: executing libtool commands
makeします。
$make make all-am ....省略 .... libtool: link: ranlib .libs/libpng15.a libtool: link: ( cd ".libs" && rm -f "libpng15.la" && ln -s "../libpng15.la" "libpng15.la" ) cp libpng-config libpng15-config cp libpng.pc libpng15.pc
でlibpng.a、libpng15.dylibが作成されました。
インストールするには、
make install
を実行して完了です。あとはlibpng.aなどを持ち運んで利用することもできます。
Xcodeで利用する
static libraryを利用するには、libz.a, libpng.aへのライブラリパスを指定して、
TARGET>Build Settings>Search Paths>Library Search Paths
ライブラリを追加すればOKです。
Build Phases>Link Binary With Libraries>"+">Add Others>libpngとlibzを追加