NativeBuild

FrontPage



このページについて

NekoVMやFlashにビルドするときはうまくできるけれども、WindowsやAndroid、iOSなどネイティブ環境へのビルドがうまくいかないときの対処法をまとめています

ネイティブ環境へのビルドがうまくいかない場合

最新のhxcpp(v3.2.205)ではビルドエラーが発生することがあります。 その場合は古いバージョンに戻すことで、正常にビルドできるようになります。

まずはバージョン番号の確認

$ haxelib list

hxcpp が v3.2.205 になっている

castle: [1.5.0]
flixel-addons: 1.1.1 [2.0.0]
flixel-demos: 1.1.2 [2.1.0]
flixel-templates: 1.0.2 [2.0.0]
flixel-tools: [1.1.2]
flixel-ui: 1.0.2 [2.0.0]
flixel: 3.3.12 [4.0.0]
hscript: [2.0.5]
hxcpp: 3.2.193 [3.2.205]  # <-- v3.2.205
lime-samples: [2.6.0]
lime: 2.8.3 [2.9.0]
nape: [2.0.19]
openfl: 3.5.3 [3.6.0]

hxcppのバージョン確認

$ haxelib info hxcpp

v3.2.205が最新。v3.2.193が1つ前になっていることが確認できる

  ……
  2015-11-06 07:47:28 3.2.193 : See Changes.md
  2015-12-24 05:28:00 3.2.205 : See Changes.md

hxcpp の v3.2.193をインストール

$ haxelib install hxcpp 3.2.193

再びバージョンを確認

$ haxelib list

hxcppの現在のバージョンが v3.2.193 になっていればOK

castle: [1.5.0]
flixel-addons: 1.1.1 [2.0.0]
flixel-demos: 1.1.2 [2.1.0]
flixel-templates: 1.0.2 [2.0.0]
flixel-tools: [1.1.2]
flixel-ui: 1.0.2 [2.0.0]
flixel: 3.3.12 [4.0.0]
hscript: [2.0.5]
hxcpp: [3.2.193] 3.2.205 # <-- v3.2.193 がセットされていればOK
lime-samples: [2.6.0]
lime: 2.8.3 [2.9.0]
nape: [2.0.19]
openfl: 3.5.3 [3.6.0]

「flixel-ui is not compatible with Haxe 3.2.1 on the cpp target」というエラーメッセージが表示されてコンパイルできない

flixel-uiを使うと、Haxeのバージョンが「3.2.1」の場合にコンパイラのバグでビルドできないようです。そのためコンパイラを「3.2.0」に戻す必要があります。

「3.2.0」に戻すには、古いバージョンで上書きインストールするか、バイナリ(実行ファイル)を上書きすると古いバージョンに戻せます。

なお、このバグはすでに修正されているので、最新版「3.2.2〜」がリリースされれば直ると思われます。

キー入力(FlxG.keys)などでエラーが発生する

モバイル環境(Androidなど)でビルドすると、キーボードやマウスの入力関係は無効(未定義)になります。そのため「#if FLX_NO_TOUCH」「#if mobile」などで処理を分ける必要があります。

#if !FLX_NO_TOUCH
  // タッチ有効 (モバイル環境)
  for (touch in FlxG.touches.list) {
      if (touch.justPressed) {
          // タッチした
      }
  }
#else
  // PCやWebの場合
  if(FlxG.mouse.justPressed) {
    // クリックした
  }
#end