2011年6月12日日曜日

Boost の 32bit と 64bit ライブラリの両方を用意しておく方法

Boost のほとんどはヘッダファイルだけで動きますが、一部のライブラリはあらかじめビルドしておかなければなりません。

Windows だと x86 と x64 の両方ビルドしたいこともあって、私なりに共存策を探ってみました。Boost 1.46.1 で実行、確認した方法です。 コンパイラは Visual Studio 2010 を利用しました。

C:\usr\local\boost_1_46_1>bootstrap
#略
C:\usr\local\boost_1_46_1>bjam --build-dir=build\x86 --stagedir=stage\x86 address-model=32 -j 2
# 略
C:\usr\local\boost_1_46_1>bjam --build-dir=build\x64 --stagedir=stage\x64 address-model=64 -j 2
# 略

こうすると、c:\usr\local\boost_1_46_1\stage\x86\lib に 32bit バイナリが、c:\usr\local\boost_1_46_1\stage\x64\lib に 64bit バイナリができあがります。build ディレクトリは中間ファイルが入っているだけですので、消してもかまいません。

ヘッダファイルは共通ですので、c:\usr\local\boost_1_46_1 をインクルードパスに指定しておけば、32bit と 64bit 両方から利用できます。

以上自分用のメモもかねてまとめてみました。

2011年5月21日土曜日

Python スクリプトを実行ファイルに変換する方法

Python を新しく勉強してみようと思い立ち、誕生日プレゼントにもらった Learning Python を片手にPythonでプログラミングをしています。で、会社で小さなスクリプトを書くことがあるんですが、周りに使ってもらおうとしても「なんか変なプログラム入れないといけないんでしょ」と、Python のインタプリタが変なプログラム扱いされてしまい、そのままでは使ってもらえません。やはり、スクリプトはそのまま実行可能な形式に変換しないと、広くは使ってもらえないようです。

Python にはいくつか実行ファイルに変換するユーティリティがあるんですが、中でも今一番ホットなのは cx_freeze のようです。簡単に特徴を挙げますと、

  • クラスプラットフォーム。Python 動作可能な環境用には実行ファイルを作成可能
  • Python 2.5 から 3.2 まで対応
  • アクティブに開発が行われている

です。

Windows での使い方は簡単で、

C:\> cx_freeze script.py

とするだけで、その下の dist ディレクトリに実行ファイル他、必要なファイルが生成されます。後は生成された script.exe を実行するだけです。

Python などのスクリプト言語は、簡単なユーティリティを書くには適していると思いますが、広く使ってもらうためにはやはりこういうツールが欠かせません。

2011年5月17日火曜日

yuryu.jp is coming back

2年間もやるやる詐欺をしていました。

Blog です。

過去の記事は? 何を書くの? など、決まっていないことは山積みではございますが、まずは始めたいと思います。

Blog のタイトルは思いつかなかったので、暫定で yuryu.jp です。サブタイトルの "life with open mind" は、素直な心で生きていきたいという私の目標です。素直な心は、私に最も書けているものの一つでもあります。もし素直な心が身についたならば、そのときこそこの blog は「名は体を表す」こととなるでしょう。

自分の考えを整理する場所として、新たなスタートを切ります。