Flex4SDKを使用して既存のFlex3プロジェクトをコンパイルしようとしています。このエラーが発生します:
Warning: This compilation unit did not have a factoryClass specified in Frame metadata to load the configured runtime shared libraries. To compile without runtime shared libraries either set the -static-link-runtime-shared-libraries option to true or remove the -runtime-shared-libraries option.
結果のファイルは、私の古いFlex3でコンパイルされた.swfファイルとほぼ同じです。結果の.swfファイルをFlashPlayerで再生すると、次のエラーも発生します。
An Actionscript error ocurred: VerifyError: Error #1014: Class spark.core::SpriteVisualElement could not be found
コンパイラ属性static-link-runtime-shared-libraries
をtrueに設定すると、エラーは消え、すべてが正常になります。ただし、結果の.SWFのサイズは数百K大きくなります。そして、それは私が望んでいることではありません。
ランタイム共有ライブラリの概念を完全には理解していませんが、静的にリンクするオプションをtrueに設定すると、ライブラリは.swfに含まれるようです。ただし、私のプロジェクトはFlex3を使用しているように見えたので、それらを.swfから除外し、実行時に必要なライブラリのみをロードするのが好きです(ちなみにそれは知りませんでした)。
私が正しく理解していれば、playerglobal.swcは、.swfがロードする必要のある外部ライブラリに必要なすべてのコードを保持しているはずです。Flex4でコンパイルされたファイルにはさらに多くのライブラリが必要ですか?FrameメタデータタグのfactoryClassで何かをする必要がありますか?
私の質問はこれに要約されると思います:以前のFlex3でコンパイルされた.swfと同じサイズのFlex4 .swfをコンパイルするにはどうすればよいですか?