Symbian
Symbian + S60 環境を入れてみた
- 2008-10-11 (土)
- PC
Symbian + S60 環境を Vista PC に入れてみたところ、テンプレートをビルド出来ませんでした。
忘れないように修正箇所をメモっておきます。。。
(3rd SDK FP2 v1.1 での話です。5th SDKではどうなっているか知りません。)
cpp.exeがクラッシュする
%SDK%\epoc32\gcc\bin\cygwin1.dll を最新版に置き換えると動作するようになります。
File name too long とか出てくる
具体的にはこんなエラーが出ます。
C:\Symbian\Carbide\workspace\AHello2\group\ -I C:\S60\devices\S603rdFP2SDKv1.1\epoc32\include\variant -include C:\S60\devices\S603rdFP2SDKv1.1\epoc32\include\variant\SymbianOSv9.3.hrh C:\Symbian\Carbide\workspace\AHello2\group\BLD.INF.: File name too long
cpp: : File name too long
BLDMAKE ERROR: ERROR: cpp.exe returned non-zero exit status (8448)
cpp.EXE -undef -nostdinc -+ -I “C:\S60\devices\S603rdFP2SDKv1.1\epoc32\include” -I . -I “C:\Symbian\Carbide\workspace\AHello2\group\” -I “C:\S60\devices\S603rdFP2SDKv1.1\epoc32\include\variant” -include “C:\S60\devices\S603rdFP2SDKv1.1\epoc32\include\variant\SymbianOSv9.3.hrh” “C:\Symbian\Carbide\workspace\AHello2\group\BLD.INF”
エラーとなったコマンドを自分でペチペチ打って試してみたところ、どうもパスの\を認識できていないようです。
ということで、%SDK%\epoc32\tools\pathutil.pm を修正します。
sub Path_PrefixWithDriveAndQuote ($) の return wantarray ? @List : $List[0]; の前に\を/へ変える文を追加します。
foreach $Path (@List) {
$Path =~ s/\\/\//g;
}
return wantarray ? @List : $List[0];
なお、直積的な原因は上記で置き換えた cygwin1.dll だと思われます。
もしかしたら設定ファイルを作ればうまくパス処理してくれるかもしれません。
eikon.rh に文法エラーがある?
具体的にはこんなエラーが出ます。
In file included from C:\Symbian\Carbide\workspace\AHello2\data\AHello2.rss:14:
C:\S60\devices\S603rdFP2SDKv1.1\epoc32\include\eikon.rh:25: warning: missing white space after `#define AKNEDITOREXTENSIONS’
C:\S60\devices\S603rdFP2SDKv1.1\epoc32\include\eikon.rh(26) : syntax error
RCOMP failed with code 1
rcomp.exeが悪さをしているのかと思いましたが、どうやら本当に解釈できていないみたいです。
%SDK%\epoc32\include\eikon.rh を修正して解決。
// 1行にしただけ。\が文法エラー。
#define AKNEDITOREXTENSIONS WORD defaultcase = EAknEditorTextCase; WORD allowedcasemodes = EAknEditorAllCaseModes; WORD numerickeymap = EAknEditorAlphanumericNumberModeKeymap; WORD allowedinputmodes = EAknEditorAllInputModes; WORD defaultinputmode = EAknEditorTextInputMode; LLINK specialcharactertable = -1; WORD avkonflags = EAknEditorFlagDefault; WORD maxviewheightinlines = 0; WORD baseline_delta = 0; WORD spare = 0;
XPだとこんなところでエラーにならないんですが。。なんでやねん。
- Comments: 0
- Trackbacks: 0
- Search
- Feeds
- Meta