SophiaFramework UNIVERSE 5.3 |
対処法:インクルードファイル および ライブラリファイルが正しく設定されているか確認します。
最初に、以下の手順で環境変数 SFHOME と BREWDIR の設定内容を確認します(前提条件 : SophiaFramework UNIVERSE と BREW SDK はインストール済みとします)。
環境変数 SFHOME / BREWDIR の値 | |
---|---|
SophiaFramework UNIVERSE をインストールすると、 環境変数 SFHOME に SophiaFramework UNIVERSE のインストール先フォルダのパスが設定されます。 環境変数 SFHOME のデフォルト値は、 C:\Program Files\Sophia Cradle\SophiaFramework\5.3 です。 BREW SDK をインストールすると、 環境変数 BREWDIR に BREW SDK のインストール先フォルダのパスが設定されます。 BREW SDK 4.0.1 SP05(日本語版) の場合、環境変数 BREWDIR のデフォルト値は、 C:\PROGRA~1\BREW40~1.1SP\sdk です。 |
1. メニューから [プロジェクト] -> [設定] を選択します。
2. インクルードファイルのパスを確認します。
$(BREWDIR)\inc,$(SFHOME)\Includeが無い場合、これらを手動で追加します。
3. ライブラリファイルのパスを確認します。
"$(SFHOME)\Library\SophiaFrameworkBrew400JpnVC60.lib"が無い場合、これを手動で追加します。 BREW SDK のバージョンに応じて SophiaFrameworkBrew400JpnVC60.lib の部分を変更します。 BREW SDK 3.1 の場合は SophiaFrameworkBrew310JpnVC60.lib にします。
1. メニューから [プロジェクト] -> [プロパティ] を選択します。
2. インクルードファイルのパスを確認します。
$(BREWDIR)\inc,$(SFHOME)\Includeが無い場合、これを手動で追加します。
3. ライブラリファイルのパスを確認します。
"$(SFHOME)\Library\SophiaFrameworkBrew400JpnVCNET2003.lib"が無い場合、これを手動で追加します。 BREW SDK のバージョンに応じて SophiaFrameworkBrew400JpnVCNET2003.lib の部分を変更します。 BREW SDK 3.1 の場合は SophiaFrameworkBrew310JpnVCNET2003.lib にします。
1. メニューから [プロジェクト] -> [プロパティ] を選択します。
2. インクルードファイルのパスを確認します。
$(BREWDIR)\inc,$(SFHOME)\Includeが無い場合、これを手動で追加します。
3. ライブラリファイルのパスを確認します。
"$(SFHOME)\Library\SophiaFrameworkBrew400JpnVC2005.lib"が無い場合、これを手動で追加します。 BREW SDK のバージョンに応じて SophiaFrameworkBrew400JpnVC2005.lib の部分を変更します。 BREW SDK 3.1 の場合は SophiaFrameworkBrew310JpnVC2005.lib にします。
1. RealView Compilation Tools for BREW 1.2 用メイクファイル内の APP_INCLUDES に、 "$(BREWDIR)\inc" -I "$(SF_HOME)\Include" が含まれているか確認します。
..... #============================================================================ SF_HOME =$(SFHOME) ARM_HOME =$(ARMHOME) BREW_HOME =$(BREWDIR) TARGET = …………………… OBJS = ……………………………………………………………… APP_INCLUDES = -I "$(BREWDIR)\inc" -I "$(SF_HOME)\Include" #------------------------------------------------------------------------------- # Target file name and type definitions #------------------------------------------------------------------------------- .....
2. リンクするライブラリを確認します。 BREW SDK 4.0 の場合は、SophiaFrameworkBrew400JpnRVCTB12.a、BREW SDK 3.1 の場合は、SophiaFrameworkKDDI310JpnRVCTB12.a を設定されているか確認します。
..... #=============================================================================== # MODULE SPECIFIC RULES #=============================================================================== APP_OBJS = $(OBJS) "$(SF_HOME)\Library\SophiaFrameworkBrew400JpnRVCTB12.a" .....
対処法 : KDDI 社 BREW 日本拡張パッケージを利用しない無い場合は 'AEEKDDI.h'をインクルードしないようにします。 具体的には、下記の手順で KDDI 社 BREW 日本拡張パッケージのヘッダーファイルをインクルードしないようにします。
1. メニューから [プロジェクト] -> [設定] を選択します。
2. [C/C++]タブを選択します。
3. [プリプロセッサの定義] の項目から TARGET_EXTENSION_KDDI を削除し、OK ボタンを押します。
TARGET_EXTENSION_KDDI の定義 | |
---|---|
KDDI 社 BREW 日本拡張パッケージを利用する場合は、TARGET_EXTENSION_KDDI を定義する必要があります。 |
1. メニューから [プロジェクト] -> [プロパティ] を選択します。
2. [C/C++] フォルダから[プリプロセッサ]を選択します。
3. [プリプロセッサの定義] の項目から TARGET_EXTENSION_KDDI を削除し、OK ボタンを押します。
TARGET_EXTENSION_KDDI の定義 | |
---|---|
KDDI 社 BREW 日本拡張パッケージを利用する場合は、TARGET_EXTENSION_KDDI を定義する必要があります。 |
メイクファイル内に TARGET_EXTENSION_KDDI が定義されていないか確認してください。 定義されている場合は、下記のように -DTARGET_EXTENSION_KDDI をコメントアウトするか削除します。
■ メイクファイルで確認する箇所 :
..... #------------------------------------------------------------------------------- # Target compile time symbol definitions # # Tells the SDK source stuffs that we're building a dynamic app. #------------------------------------------------------------------------------- # DYNAPP = -DDYNAMIC_APP DYNAPP = -DDYNAMIC_APP #-DTARGET_EXTENSION_KDDI .....
TARGET_EXTENSION_KDDI の定義 | |
---|---|
KDDI 社 BREW 日本拡張パッケージを利用する場合は、TARGET_EXTENSION_KDDI を定義する必要があります。 |
SophiaFramework UNIVERSE AppWizard 利用時の注意事項 | |
---|---|
KDDI 社 BREW 日本拡張パッケージを利用しない無い場合は、 SophiaFramework UNIVERSE AppWizard の「KDDI 拡張インターフェースを使用する」のチェックを OFF にします(OFF がデフォルト値になっています)。 |
KDDI 社 BREW 日本拡張パッケージと、その C++ ラッパークラスがインストールされているか確認してください。
KDDI 社 BREW 日本拡張パッケージと、その C++ ラッパークラスの使用方法については、 BREW 日本拡張パッケージ C++ ラッパークラスの使用方法を参照してください。
SophiaFramework UNIVERSE AppWizard 利用時の注意事項 | |
---|---|
KDDI 社 BREW 日本拡張パッケージを利用する場合は、 SophiaFramework UNIVERSE AppWizard の「KDDI 拡張インターフェースを使用する」のチェックを ON にします(OFF がデフォルト値になっています)。 リンクするライブラリファイルの設定は手動で行う必要があります。 詳細は、BREW 日本拡張パッケージ C++ ラッパークラスの使用方法を参照してください。 |
対処法 : <アプリ名>.bid ファイルが、 <アプレットディレクトリ>\<アプリ名> のフォルダに格納されているか確認します。
アプレットディレクトリとは | |
---|---|
アプレットディレクトリとは、BREW シミュレータ用アプリを置くフォルダです。 |
対処法 : <アプリ名>.dll ファイルが、 <アプレットディレクトリ>\<アプリ名> のフォルダに格納されているか確認します。
アプレットディレクトリとは | |
---|---|
アプレットディレクトリとは、BREW シミュレータ用アプリを置くフォルダです。 |
対処法 : <アプリ名>.dll ファイルが、 <アプレットディレクトリ>\<アプリ名> のフォルダに格納されているか確認します。
アプレットディレクトリとは | |
---|---|
アプレットディレクトリとは、BREW シミュレータ用アプリを置くフォルダです。 |
症状 : ツールバーにある [ SF MAK ] アイコンをクリックして、メイク ファイル helloworld.mak を更新しようとしたときに、 「プロジェクトが開いていない可能性があります」というエラーが表示されます。
対処法 : プロジェクト内の .hpp および .cpp ファイルを開けてみてください。 この操作により、メイク ファイルの更新が可能となります。
対処法 : SFXHelper 関数や BREW 関数を正しく利用しているか確認します。
SophiaFramework 逆引きコード集 : modファイルが作成できない
対処法 : 古いリンカオプションを指定したときに表示される警告メッセージです。アプリの動作に問題はありません。
この警告メッセージが出力されないようにするには、メイクファイル内の
..... $(HEXTOOL) $(TARGET).$(EXETYPE) $(BINFORMAT) $(TARGET).$(MODULE) .....
を
..... $(HEXTOOL) $(TARGET).$(EXETYPE) $(BINFORMAT) -output $(TARGET).$(MODULE) .....
に変更します。
対処法 : アプリの動作に問題はありません。このメッセージは SophiaFramework UNIVERSE のライブラリが Release ビルドであるのに、 アプリ側が Debug ビルドであるときに表示されます。
この警告メッセージを消すには、アプリ側も Release ビルドにします。
RealView Compilation Tools for BREW 1.2 の Build 848 を適用します。 入手先 : ARM 社 ADS 1.2: Build 848 patch for Windows
RealView Compilation Tools for BREW のビルドバージョン | |
---|---|
armcpp コマンドで RealView Compilation Tools for BREW のビルドバージョンが確認できます。 |
この対処法は -g- オプションでビルド時、 SFXStreamReader、SFXStreamWriter、SFXAnsiStringStreamReader などのクラスに関して リンクエラーが発生する場合などに有効であることが確認されています。
RealView Compilation Tools for BREW 1.2 用メイクファイルのコンパイラ最適化オプションを下記のように変更します。
注意 | |
---|---|
-Ospace を -Otime に変更します。 |
■ 変更前
..... #------------------------------------------------------------------------------- # Compiler optimization options #------------------------------------------------------------------------------- OPT = -Ospace -O2 # Full compiler optimization for space .....
■ 変更後
..... #------------------------------------------------------------------------------- # Compiler optimization options #------------------------------------------------------------------------------- # OPT = -Ospace -O2 # Full compiler optimization for space OPT = -Otime -O2 .....
Tip | |
---|---|
SophiaFramework UNIVERSE のライブラリは、-Ospace ではなく -Otime の最適化オプションでビルドされています。 これは、-Ospace よりも -Otime の最適化オプションの方が、ビルド後アプリのサイズが最適化されるためです。 |
以下のようなメッセージがでる場合は、リンクする RealView Compilation Tools for BREW 1.2 用ライブラリが正しく設定されていない可能性があります。
NMAKE : fatal error U1073: '"C:\Program Files\Sophia Cradle\SophiaFramework\5.3\Library\**********"' のビルド方法が指定されていません。 Stop. ツールは次のコードを返しました: 0
■ メイクファイルで確認する箇所(BREW SDK 4.0 利用の場合) :
..... #=============================================================================== # MODULE SPECIFIC RULES #=============================================================================== APP_OBJS = $(OBJS) "$(SF_HOME)\Library\SophiaFrameworkBrew400JpnRVCTB12.a" .....
その他 : 利用している BREW SDK のバージョンにあった RealView Compilation Tools for BREW 1.2 用ライブラリをリンクするようにしてください。 BREW SDK のバージョンは 環境変数 BREWDIR に設定されているパスで確認できます。 BREW SDK 3.1 をお使いの場合は、SophiaFrameworkBrew310JpnRVCTB12.a をリンクするようにしてください。
KDDI 社 BREW 日本拡張パッケージを利用する場合は、そのライブラリファイルの設定を手動で行う必要があります。 詳細は、BREW 日本拡張パッケージ C++ ラッパークラスの使用方法を参照してください。
症状 : RealView Compilation Tools for BREW 1.2 でビルドしようとすると、リンク時に
Warning: L6318W: SophiaFrameworkBrew400JpnRVCTB12.a(i.Initialize__9SFCAppletFPFv_P10SFCInvokerRC13SFXAnsiString) contains branch to a non-code symbol <Anonymous Symbol>.
という警告メッセージが発生します。
対処法 : BREW SDK 4.0 の場合だけ表示されますが、アプリの動作に問題はありません。
症状: KDDI 社 BREW 日本拡張パッケージに含まれる IKDDI○○○ の C++ ラッパークラス SFBKDDI○○○ を利用したいのですが、 コンパイルしようとすると、以下のようなエラーが発生します。
■ Microsoft Visual C++ 6.0 の場合: ... error C2065: 'SFBKDDI○○○○○○' : 定義されていない識別子です。 ... error C2146: 構文エラー : ... ... ■ RealView Compilation Tools for BREW の場合: line *** : Error: C2225W: declaration lacks type/storage-class (assuming 'int'): 'SFBKDDI○○○○○○'
対処法: メイクファイル内に TARGET_EXTENSION_KDDI が定義されているか確認してください。 TARGET_EXTENSION_KDDI の具体的な定義方法は、 TARGET_EXTENSION_KDDI の定義を参照してください。
症状: KDDI 社 BREW 日本拡張パッケージに含まれる IKDDI○○○ の C++ ラッパークラス SFBKDDI○○○ を利用したいのですが、 リンクしようとすると、以下のようなエラーが発生します。
■ Microsoft Visual C++ 6.0 の場合: *********.obj : error LNK2001: 外部シンボル "public: static class SFXBrewPointer<class SFBKDDI○○○> __cdecl SFBKDDI○○○::NewInstance(long *)" (?NewInstance@SFBKDDI○○○@@SA?AV?$SFXBrewPointer@VSFBKDDI○○○@@@@PAJ@Z)" は未解決です *********.dll : fatal error LNK1120: 外部参照 1 が未解決です。 link.exe の実行エラー ■ RealView Compilation Tools for BREW の場合: Error: L6218E: Undefined symbol static SFBKDDI○○○::NewInstance(long*) (referred from ********.o).
対処法: 利用している BREW SDK のバージョンにあった KDDI 社 BREW 日本拡張パッケージ C++ ラッパークラスライブラリをリンクしているか確認してください。 BREW SDK のバージョンは、 環境変数 BREWDIR に設定されているパスで確認できます。
KDDI 社 BREW 日本拡張パッケージ C++ ラッパークラスライブラリの具体的な設定方法は、 BREW 日本拡張パッケージ C++ ラッパークラスライブラリの設定を参照してください。
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |