SymbianOSの開発環境をそろえる

そろそろソフトを作ってやろうとNokiaのサイトから下記のものを拾ってきて入れました。

他に

  • VisualStudio.NET2003
  • HalWin

を用意します。

C:\Symbian\8.0a\S60_2nd_FP2_J\Series60Exの下のサンプルをヘルプを見ながらVisualStudio.NET2003にて試しにビルドしてみました。

> makmake ほにゃらら.mmp vc7

これでVSのプロジェクトファイルを生成して、ほにゃらら.slnを開きます。

とりあえずわけあって2台のマシンにいれたのだけど、片方では「Debug Wins」と「Release Wins」はビルド可能でエミュレータでの実行を確認。が、しかし「Release Armi」も「Release Thumb」もビルド出来ず。もう一方だと逆の状態。うーむ・・・これでは開発になりません。

原因究明は保留にしていたのですが・・・大変な事に気付きました。

VC7が動かなくなってる!

なにやら

error PRJ0003 : cl.exe' の起動中にエラーが発生しました。

なるエラーが出てますが、echo %PATH%してみると、

C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\BIN

はきちんと入っており、コンソールからも動きます。そういえば上記のSymbianの方でDebug Wins等がビルド出来ない方はnmakeがみつからないというエラー。これもパスは通っておりコンソールから実行出来る。はてはてはて?仕事が出来なくなって激しく困った・・・。

問題解決?

色々調査、試行錯誤した結果、VisualStudio.NET2003の

ツール>オプション>プロジェクト>VC++ディレクトリ>Win32/実行可能ファイル

  • $(VCInstallDir)bin
  • $(VSInstallDir)Common7\ide

のパスを追加することでVC++のプロジェクトのビルドが可能になりました。
Symbian側も全部動くようになったので、解決方法としては問題無さそうです。

NokiaSDKを入れたとき(もしくは一回アンインストールしてるのでその時)に
このパスを消された可能性が高いです。コワイコワイ

あと、なぜか他の設定項目も

(ほにゃらら)bin

等のように頭に$が無いのでこれも修正。(試したら$なしでは展開してくれないみたい)

おまけのビルド種別

このSymbianOS S60のSDKには4つのビルドモードがあるらしい。

  1. Debug WINS
  2. Release Armi
  3. Release Thumb
  4. Release WINS

(1)はWindows上のエミュレータで動く物でデバッグ版、(4)は同じくエミュレータで動くリリース版ということで納得した物の、(2)と(3)は一体なんなんでしょ? っと前から疑問だったんですが、ドキュメントを見てみると

(2)は

ARM4(サイズよりもパフォーマンスを重視した ROM用、あるいはROMがARM4と分かっている場合のアプリケーション用。)あるいはThumbで作成されたROMのどちらでも動作するアプリケーション用

(3)は

パフォーマンスよりもサイズを重視したROM用、あるいはROMがThumbと分かっている場合のアプリケーション用。

だっそうです。基本的なアプリの場合は(3)でいいのかな・w・?