2010年11月4日
supplibceを使う
supplibceライブラリは、Windows CE 5.0 Standard SDK CRT supplementary libraryと言うことで、New BSD License(3-clause BSD License)で公開されています。
Microsoft (eMbedded) Visual C++でWindows CEアプリケーションの開発をするとすぐに思い知らされることがあります。9x系やNT系のWindowsのWin32 APIやCRT関数の多くは使用できるのですが、いくつかは実装されていなかったり、処理内容が異なったり、別のAPIになっていたり、CRTでは宣言だ けされているものさえあります。
supplibceは、そんなCRTの憂鬱な状況をちょっとだけ緩和させるために用意した簡易実装ライブラリです。
まぁ、別にわざわざsupplibceライブラリを使用しなくてもWin APIで書けば良いだけと言えば、そうなのですが、WinCE、Windows、Unix系に可能な限り同一のコードで対応したいという欲求があり、使ってみました。
以下の注意事項があるので、もちろん自己責任で。
supplibce comes with ABSOLUTELY NO WARRANTY.
あくまで互換性確保のための簡易実装です。エラー時のerrno値の設定や、スレッドセーフなどはほとんど考慮していません。ミッションクリティカルな用途には(そのまま)使用すべきではありません。使用する場合は適宜修正すべきです。
ビルド方法は、以下のような感じです。なお、eVC環境を使ったビルド方法です。
- ダウンロードしたファイルを展開するとarm.makとincludeおよびsrcフォルダが飛び出てきます
- コマンドプロンプトを立ち上げます
- 展開したフォルダにCDします
- 環境設定用のバッチファイルを編集します
デフォルトでeVCをインストールしている場合は以下のフォルダに存在するはずです
"\Program Files\Microsoft eMbedded C++ 4.0\EVC\wce500\bin\"
で、ARM用にビルドするのであれば、WCEARMV4I.BATをベースに自分の環境に合わせてバッチファイルを編集します
編集するのは、PLATFORM、WCEROOT、SDKROOT変数に設定している値くらいと思います
どのような値にするべきかは、eVCを立ち上げていつもビルドしている状態で「ツール」→「オプション」→「ディレクトリ」タブを見れば設定するべき値がわかると思います
- NMAKEする
nmake arm.mak
以上でlibフォルダが作成され、その中にsupplibce.libが生成される
後は、このライブラリを使いたいプロジェクトでリンクすればOKです。
あ、展開されたインクルードファイルも適切なフォルダにおいてプロジェクトのインクルードパスを通さないとコンパイルが通らないですね
TrackBack URL :

別にこれと言った理由もなく気まぐれで、iPhoneでの閲覧時に表示を特化させる以下のWordPressプラグイン「WPtouch」を導入してみました 
Comments(7)



