LibYAMLはhttp://pyyaml.org/wiki/LibYAMLで開発・公開されているC言語でYAMLファイルを簡単に扱うためのライブラリです。
インストール
- Debian Linulx
$ sudo apt-get install libyaml-dev
- Cygwin
$ apt-cyg install libyaml-devel
apt-cygをインストールしていることが前提で書いてます。
- ソースコードから
$ wget http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz
$ tar zxvf yaml-0.1.5.tar.gz
$ cd yaml-0.1.5
$ ./configure --prefix=$HOME/rootfs
$ make
$ make install
ソースからインストールする場合、「--prefix」を使うと指定したディレクトリにインストールできるので、root権限が公開されていないサーバでもインストールできます。
(apt-getやapt-cygでもパッケージアーカイブをホームディレクトリ等に展開すれば同様のことはできると思います、たぶん。)
サンプルソースとコンパイル
A libyaml Tutorialを開くと、サンプルのyamlファイルと読み込み・書き込みのサンプルソースが公開されています。
コンパイル方法
- Linuxの場合
$ gcc -lyaml test.c
ライブラリの指定はソースファイルの前後どちらでもコンパイルが通ると思います。
- Cygwinの場合
$ gcc test.c -lyaml
環境依存かもしれませんが、gccのコマンドオプションの順番が固定のようです。ソースファイル→ライブラリの順でライブラリを指定しないとコンパイルが通りませんでした。
(私のコンパイル環境が特殊なのかもしれませんが。。。)
- デフォルトのファイルパス以外にインストールした場合
$ gcc -I${HOME}/rootfs/include/ -L${HOME}/rootfs/lib/ test.c -lyaml
のように、「-I」でyaml.hが格納されているディレクトリパスを指定し、「-L」でlibyaml.aが格納されているディレクトリを指定します。