APRの導入
APR(Apache Portable Runtime)をちょっと使ってみました。導入方法をメモしておきます。
動作環境
OS : Windows XP, Cygwin
APR Version : 1.2.12
1.ダウンロード
次のサイトから、アーカイブファイルをダウンロードしました。
サイト
The Apache Portable Runtime Project
http://apr.apache.org/
アーカイブファイル
apr-1.2.12.tar.gz
2.アーカイブファイルの展開
適当なフォルダに移動して、次のコマンドを実行し、アーカイブファイルを展開しました。
tar xvfz apr-1.2.12.tar.gz
カレントフォルダに、次のフォルダが作成され、アーカイブファイルが展開されました。以降、このフォルダをAPR_HOMEと記述します。
apr-1.2.12
3.コンパイル&インストール
README.devを読んでコンパイル&インストールを行います。ここでは、インストール先を$HOME/localとしました。
デバッグコードを含めたくない場合
./configure --prefix=$HOME/local
make
make install
デバッグコードを含むライブラリを作成したい場合
./configure --prefix=$HOME/local --enable-debug --enable-pool-debug=all
make
make install
4.テストプログラムのコンパイル&実行
アーカイブファイルには、テストプログラムが含まれていました。これをコンパイル&実行してみました。
コンパイル
cd $APR_HOME/test
make
次の実行ファイルが作成されました。
$ ls -1 *.exe
globalmutexchild.exe*
occhild.exe*
proc_child.exe*
readchild.exe*
sendfile.exe*
sockchild.exe*
testall.exe*
testlockperf.exe*
testmutexscope.exe*
testshmconsumer.exe*
testshmproducer.exe*
tryread.exe*
1つ実行してみました。が、コアダンプしてしまいました。
$ ./testall.exe 2>tmp.log
testatomic : SUCCESS
testdir : SUCCESS
testdso : \Aborted (core dumped)
5.動作確認
自分で簡単なプログラムを作成し、動作確認してみました。
ソースファイル(try001.c)
#include <stdio.h> #include "apr_general.h" #include "apr_version.h" int main(int argc, char **argv) { // APRを初期化する。 apr_initialize(); // APRのバージョン情報を出力する。 printf("APR's version : %s\n", apr_version_string()); // APRを終了する。 apr_terminate(); return 0; }
コンパイル
gcc -o try001 -g -O2 -Wall -I ~/local/include/apr-1 -lcrypt try001.c ~/local/lib/libapr-1.a
実行結果
$ ./try001.exe
APR's version : 1.2.12