ホーム > デベロッパ > SophiaFramework > BREW C++ 逆引きコード集

BREW C++ プログラミング : SophiaFramework 逆引き FAQ・コード集

BREW SDK 4.0.0 で開発する方法 (SophiaFramework 4.1.7)

SophiaFramework 4.1.7 から、BREW SDK 4.0.0 用新規プロジェクトを作成できるようになりました。CheckAvail 関数が BREW SDK 4.0.0 では正常に動作しないため、BREW SDK 4.0.0 を使う場合、サンプルコードで CheckAvail 関数が呼び出されないように変更しました。また、BREW SDK 4.0.0 ではモジュール名が 21 文字を超えると発生するエラーとなるため、すべてのサンプルコードのモジュール名を 21 文字以下としました。

※制約事項:
BREW SDK 4.0.0 API のラッパーは提供されていません。SophiaFramework 4.1.8 以降で、提供する予定です。

■ BREW SDK 4.0.0 で開発する手順

Step 1 : Qualcomm 社サイトから BREW 4.0.0 SDK をダウンロードし、インストールします。

Step 2 : SophiaFramework 4.1.7 をインストールします。

Step 3 : 環境変数を更新するため、再起動します。

Step 4 : SophiaFramework のリンカのファイルを変更します。

Visual C++ 6.0 の場合 :
[プロジェクト] -> [設定] -> [リンク] -> [オブジェクト / ライブラリ モジュール] で [SophiaFrameworkBrew310VC6.lib] を [SophiaFrameworkBrew400VC6.lib] に変更します。

.NET の場合 :
[プロジェクト] -> [(プロジェクト名)のプロパティ] -> [リンカの入力] -> [追加の依存ファイル] で [SophiaFrameworkBrew310NET.lib] を [SophiaFrameworkBrew400NET.lib] に変更します。

Step 5 : アプリをコンパイルします。

※ AEEIramCache および AEEIRecordStore に関してコンパイラ エラーが発生します。このエラーは、BREW SDK 4.0.0 の不具合です。

以下のように変更すれば、コンパイラ エラーを回避できます。

■変更前 

static __inline int IRAMCACHE_Find(IRamCache* piRamCache,
                                   const char* cpKey, int nKeyLen,
                                   void* pVal, int* pnValLen)
 
 {
     return AEEGETPVTBL(piRamCache,IRamCache)
           ->Find(piRamCache,
                  cpKey, nKeyLen,
                  pVal, pnValLen);
}


■変更後 

static __inline int IRAMCACHE_Find(IRamCache* piRamCache,
                                   const char* cpKey, int nKeyLen,
                                   void* pVal, int* pnValLen)
{
    return AEEGETPVTBL(piRamCache,IRamCache)
            ->Find(piRamCache,
                   cpKey, nKeyLen,
                   static_cast<char *>(pVal), pnValLen);
}
■変更前 

static __inline int IRECORDSTORE_Find(IRecordStore* piRecordStore,
                                     const char* cpKey, int nKeyLen,
                                     void* pVal, int* pnValLen)
{
    return AEEGETPVTBL(piRecordStore,IRecordStore)
           ->Find(piRecordStore,
                  cpKey, nKeyLen,
                  pVal, pnValLen);
}


■変更後 

static __inline int IRECORDSTORE_Find(IRecordStore* piRecordStore,
                                         char* cpKey, int nKeyLen,
                                         void* pVal, int* pnValLen)
{
    return AEEGETPVTBL(piRecordStore,IRecordStore)
           ->Find(piRecordStore,
                  cpKey, nKeyLen,
                  static_cast<char *>(pVal), pnValLen);
}

Step 6 : もう一度、コンパイルします。

【注意事項】

1) SophiaFramework 4.1.7 では BREW 4.0.0 API ラッパーは提供されていません。

[対策] SophiaFramework 4.1.8 以降で提供される予定です。

2) BREW 4.0.0 SDK には KDDI_FONT_FIXED16X16 が含まれないため、pclock アプリはコンパイルできません。