braintag

公開してしまう備忘録

VisualStudio(VC9) でlog4cxxをつかう

いつもは自作のロギングクラスを使っているのだけれども、他人に使ってもらうときに、いちいち使い方をレクチャーするのも、どうせ読まずに質問されるのがオチのドキュメントを用意するのも面倒なので、やっぱりここはよくつかわれているようなライブラリを使い、使いたければ勉強してください、という方が面倒がなくていいだろうと思い、Apacheのlog4cxxを使ってみることにした。

VisualStudioの場合は、ここに公式のビルド方法がある。

Building Apache log4cxx with Microsoft Visual Studio
http://logging.apache.org/log4cxx/building/vstudio.html

しかし、このままではビルド時に足りないものがいくつかあり、コンパイルが出来なかった。

よって、メモをする。

ダウンロード

まず、log4cxxと、apr,apr-util,apr-iconvの最新版をダウンロードする。*1

log4cxx
http://logging.apache.org/log4cxx/

Apache Portable Runtime
http://ftp.yz.yamagata-u.ac.jp/pub/network/apache/apr/


この時点のバージョンは以下の通り
apache-log4cxx-0.10.0.zip
・apr-util-1.3.4-win32-src.zip
・apr-1.3.3-win32-src.zip
・apr-iconv-1.2.1-win32-src.zip*2

環境構築のバッチファイルが、sedを使うので、sedをインストールしておく。


Sed for Windows
http://gnuwin32.sourceforge.net/packages/sed.htm

自分はいつの間にかインストールされていたのでスルー。

ディレクトリ構造

適当なフォルダにコピーし、解凍する。ここではc:\log4cxxというディレクトリを作成。
解凍して出来たディレクトリ名を、リネーム。

  • apr-1.3.3をarpに
  • apr-util-1.3.4をapr-utilに
  • apr-iconv-1.2.1をapr-iconvに

それぞれリネーム。

ここでのディレクトリ構造は

  • c:\log4cxx\apache-log4cxx-0.10.0
  • c:\log4cxx\arp
  • c:\log4cxx\arp-util
  • c:\log4cxx\arp-iconv

とする。

環境構築

コマンドプロンプトc:\log4cxx\apache-log4cxx-0.10.0へ移動し、以下のバッチファイルを実行

  • configure.bat
  • configure-aprutil.bat

configure-aprutilの方でなんかエラーが出てたけどコンパイル出来てたので気にしない。

VisualStudioでのビルド

c:\log4cxx\apache-log4cxx-0.10.0\projects\log4cxx.dswVisualStudioで開く。

プロジェクトに追加で、既存のプロジェクトとしてapr-iconvディレクトリの、apriconv.dspを追加する。

apr-utilのプロジェクトの依存関係にapriconvを追加する。


ソリューションのビルドを行う。

c:\log4cxx\apache-log4cxx-0.10.0\projects\Debug/Releaseにdllファイルが
出来ていれば成功。

今日はとりあえずここまで。次回は使用方法を記述する。

*1:古いバージョンだとコンパイルで失敗するので注意。30分損した。

*2:公式には載ってないが、'apr_iconv.h'がないと怒られるのでこれもダウンロード