SophiaFramework 4.1.6 では、一部 BREW SDK 4.0.0 に対応しています。BREW SDK 3.1 以前の環境で開発した SophiaFramework アプリをコンパイルし実行できます。
※制約事項:
BREW SDK 4.0.0 用の新規プロジェクトは作成できません。また、BREW SDK 4.0.0 API のラッパーも提供されていません。SophiaFramework 4.1.7 以降で、提供する予定です。
■ BREW SDK 4.0.0 で開発する手順
Step 1 : Qualcomm 社サイトから BREW 4.0.0 SDK をダウンロードし、インストールします。
Step 2 : SophiaFramework 4.1.6 をインストールします。
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.6 では、BREW 4.0.0 用の新規プロジェクトを作成できません。
[対策] SophiaFramework 4.1.7 以降で対応いたします。
2) SophiaFramework 4.1.6 では BREW 4.0.0 API ラッパーは提供されていません。
[対策] SophiaFramework 4.1.8 以降で提供される予定です。
3) BREW 4.0.0 用シミュレータでアプリ起動すると Unknown Error(1) が発生します。
以下のサンプルアプリで発生します。
−SyncScheduler
−psec
−Recog
−pself_dom
−pself_sax
[原因] CheckAvail 関数が BREW 4.0.0 では正常に動作しないためです。
[対策] CheckAvail 関数を使わなければ正常に動作します。
4) BREW 4.0.0 用シミュレータでアプリ起動すると Unknown Error(14) が発生します。
以下のサンプルコードで発生します。
−SFXCollectionExplainer
−SFXMathematicsExplainer
[原因] モジュール名が 21 文字を超えると発生するエラーです。
[対策] BREW 4.0.0 SDKでは、モジュール名は 21 文字以下にします。
5) BREW 4.0.0 SDK には KDDI_FONT_FIXED16X16 が含まれないため、pclock アプリはコンパイルできません。