カテゴリー
Develop

Flash Developで2回目以降のコンパイルがエラーになる

Androidの実装環境を設定したら、 Developでコンパイルエラーが出るようになった。
エラーメッセージは

Error: Comparison method violates its general contract!
Build halted with errors (fcsh).

常にという訳ではなく、FDを起動して初回のコンパイルは問題なく実行できる。
そのまま修正などして再度コンパイルすると上記のエラーが発生する。
ビルドを[Debug][Release]に切り替えると、エラーは発生しない。
なので、まぁ都度[Debug][Release]を切り替えつつコンパイルすれば対応は出来るのだけど、面倒くさい。同じ問題は色々発生しているようで、FlashDevelop.org – View topic – Error: Comparison method violates its general contract!にその辺の情報が集まっている。
JDK1.7を入れたことに付随する問題のようだが、Androidの制作環境構築でどこがどうだったかさっぱり思い出せず、Android環境の再構築の手間を考えるとJDK1.7のアンインストールも躊躇してしまう。
色々試しているものの、未だ解決に至らず・・・という状況。


ちなみに環境は
Win7(x64)
Flash Develop(3.3.4)
はx86,x64共にjdk1.6.0_30、jdk1.7.0_02、jre6、jre7
(Javaに関してはEclipseやらAndroidの関係でカオスな状態)
add

You should install Java 1.6 in parallel and set it’s path (not including ‘/bin’) as java.home in ‘s jvm.config.

これは色々試してみたもののどーもうまく機能しないっぽい。
add
続いてFDを最新版にしてみた。
FDのインストール中にFlex SDKやらのDLインストールがしていたが、起動後Project PropertyでSDKを設定。しかしやはり同じ状態。FlashDevelop.org – View topic – Error: Comparison method violates its general contract!

use Project-Clean, solved me issue.

いてあって、たしかに解決するのだが、単純にFCSHがクリアされていているだけで、都度最初からコンパイルという感じ・・・。
うーむ。
あ、ちなみになんで今頃FDアップデートしてるんだ?って話は単純にFD4のアイコンが嫌いだったからというだけ・・。前のほうが良かった。
add
色々なProjectで検証してたら、どうもエラーが発生するのはMolehill用にしたFlexSDKを参照している時だけっぽい。ということで、ちょっとFlex自体を最新にしてみる。
add
Flex4.6インストールして書き出しジョンを11.0に変更してみるも、やはり初回だけOKという感じ。
10.x系は問題なく書き出せる。playerglobalの問題なのかしらね?
なんかFlex/frameworks/libs/player以下の各バージョン定義フォルダの中を見ると”FlashDevelopNotice.txt”というテキストファイルが配置してあって、

This ‘playerglobal.swc’ was copied here automatically by FlashDevelop from:
:\Program Files (x86)\FlashDevelop\Tools\flexlibs\frameworks\libs\player\11.0\playerglobal.swc

とか書かれていた。どうも出力バージョンをFlash Develop側で管理するようになったっぽい。(昔はFlexの中に手動でディレクトリを作って配置していた気がするが・・・)
ということで、未だ解決に至らず・・・。

「Flash Developで2回目以降のコンパイルがエラーになる」への2件の返信

エラーを検索してたどり着きました昔のファイルだったのでなんのエラーだかわからなくて助かりましたありがとうございます。感謝

お役に立てて何よりです。私は環境が変わってしまって、きちんと解決しないままでした・・・汗

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です