ページ

2008年3月30日日曜日

Boostのインストール

今日はBoostのセットアップの覚書を残すことにします。


 


1. TortoiseSVNのセットアップ



今回の目的としてBoost::Asioを使うことなのですが、残念ながら現時点での最新版(boost_1_34_1)にはこのライブラリが含まれていないようです。


近々公開されるとは思うのですが、何となくそれも待っていられないので、今回はSubversionで公開されている最新版を取得して、自分でビルドしてみようかと思います。


そこで、Subversionのリポジトリにアクセスするのに便利なツールとしてTortoiseSVNをセットアップして使います。TortoiseSVNに関してはそのうち気が向いたら覚書をまとめるとして、とりあえず今はTortoiseSVNをインストールしたということだけにしておきますかね。


※って書いてる間に昨日(2008/3/29)公開されたみたい。。(^^;;


 


2. レポジトリから最新版を取得



TortoiseSVNのリポジトリブラウザを起動して、以下のサイトから最新版をチェックアウトします。


http://svn.boost.org/svn/boost/trunk


結構ファイル数がありますので、それなりに時間はかかると思いますので、気長に待ちましょう。


 


3. Boost::Jamのインストール



インストールとは言っても、Windows版では実行形式のファイルがそのまま取得できますので、今回はそれを利用して行うことにします。



  • boost-jam-3.1.16-1-ntx86.zip

SourceForgeから取得可能です。


解凍したフォルダをBoostを配置したフォルダと並列に配置します。私は以下のような構成になりました。



C:\Program Files\boost

├ boost_1_35_0
└ boost-jam-3.1.16-1-ntx86


 


4. Boostのビルド



やっとこさビルドに取り掛かります。


4.1. Visual C++ 2005 Express Editionを起動しましょう。


4.2. パスを通します。




    • [ツール(T)]→[オプション(O)]からオプション設定ダイアログを起動します。

    • [プロジェクトおよびソリューション]から、[VC++ ディレクトリ]を選択します。

    • [ディレクトリを表示するプロジェクト(S)]から、インクルード ファイルを選択します。

    • C:\Program Files\boost\boost_1_35_0 を新規に追加します。

    • [ディレクトリを表示するプロジェクト(S)]から、ライブラリ ファイルを選択します。

    • C:\Program Files\boost\boost_1_35_0\lib を新規に追加します。

4.3. [ツール(T)]→[Visual Studio 2005 Command Prompt]を起動します。


4.4. boost_1_35_0フォルダに移動します。


4.5. bjam.exeを実行します。



私は実行時のオプションを以下のようにしました。詳細はマニュアルを参照下さい。



>..\boost-jam-3.1.16-1-ntx86\bjam.exe -q -a --prefix=. --toolset=msvc --without-python --build-type=complete --stagedir=. stage > ..\%boostdir%_build_log.txt


かなーり時間がかかりますが、ビルドが無事終われば完了です。
ちなみに私はこの工程用に超シンプルなバッチプログラムを作りました。
あまりにも警告がたくさん出たので、仕方ないなーと思うところは無視するようにしてしまいました。


ちなみにこのバッチプログラムを利用することの責任は一切持てませんので、利用する方は各自の自己責任にてお願いします。


 



2008年3月29日土曜日

着モーション作成

ここではフリーソフトで着モーションを作成したときの覚書を残しています。
あくまでも私の環境での話ですのでご注意下さい。


1. 画像の準備
着モーションにしたいMPEGファイルを準備します。私は「TMPGEnc MPEG Editor 2.0」というソフトを購入しているので、普段はそれを利用しています。

2. MPEGファイルをAVIファイルに変換
フリーソフトの「MPEG2AVI」を利用して、MPEGファイルをAVIファイルに変換します。
私の場合、主に副音声とか多言語のときに片チャネルだけ利用する目的で使っています。

以下の設定で変換してみました。

2.1. 映像側
利用CODEC無圧縮DIB
フレームレート15fps
オーバーラップON
出力サイズを変更する有効
出力サイズ176×144
拡大縮小時に色補完するON
2.2. 音声側
圧縮の有無無圧縮PCM
形式16KHz Mono
モノラル変換モードL

3. AVIファイルを3GPPファイルに変換
フリーソフトの「携帯動画変換君」を利用して、AVIファイルを3GPPファイルに変換します。

以下の設定で変換しました。
設定を確認したら、変換対象のAVIファイルをメインウインドウ上部の白いエリアにドラッグ&ドロップします。 

3.1. 3GPPファイル
音声AMR形式一般設定QCIF標準画質15fpsモノラル


4. 3GPPファイルを着モーション化
フリーソフトの「着もと」を利用して、3GPPを着モーションに変換します。


5. 完成した3GPPファイルを携帯にメールで送信します。
メモリカード(私の場合はmicroSDカード)経由でできるかどうかはそのうち試してみたいです。


6. 着信設定で完了!


7. 参考リンク

2008年3月16日日曜日

ヘッダだけじゃダメみたいね

Boost C++ Librariesを使うときに、以下の機能を使う場合にはヘッダファイルだけじゃダメみたいね。
これらを使うときは、対応するライブラリを準備しておかないと。

date_time, regex, thread, python, signals, test, filesystem, serialization, program_options


_SCL_SECURE_NO_DEPRECATEが必要みたい

Boostライブラリを用いたプログラムのビルド時には、数多くの警告(C4996)が出てきます。
どうやらVC++のセキュア関数は未サポートなようです。
http://www.boost.org/のトップページに書いてあるのがそういうことだと思う。(2008/3/16現在)


したがって、プリプロセッサの定義に「_SCL_SECURE_NO_DEPRECATE」を追加して、これを抑圧するのがいいのかも。。