我正在嘗試使用Flex4 SDK編譯現有的Flex3項目。我得到這個錯誤:使用Flex4 SDK進行編譯
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文件。打在Flash Player生成的SWF文件也給出了以下錯誤:
An Actionscript error ocurred: VerifyError: Error #1014: Class spark.core::SpriteVisualElement could not be found
如果我設定的編譯器屬性static-link-runtime-shared-libraries
爲true,那麼錯誤消失,一切都很好。但是,所得到的.SWF的大小是幾十萬的大小。這不是我想要的。
我不完全理解運行時共享庫的概念,但似乎靜態鏈接它們設置爲true的選項,庫包含在.swf中。但是,我喜歡將它們從.swf中排除,並且只在運行時加載所需的庫,因爲我的項目似乎對Flex3有用(我不知道順便說一句)。
如果我理解正確,playerglobal.swc應該包含我的.swf必須加載的外部庫的所有必需代碼。 Flex4編譯的文件需要更多的庫嗎?我應該使用Frame元數據標籤中的factoryClass做些什麼?
我想我的問題歸結爲:我如何編譯一個Flex4 .swf,它與我以前的Flex3編譯的.swf的大小相同?
我不清楚如果你只是想編譯flex3項目,或者你真的想包含一些新的/更新的flex4功能。另外:你是在命令行上編譯還是使用flex builder/fdt? – 2010-06-20 12:11:24
我需要首先重新編譯Flex3項目,並可能稍後添加一些Flex4功能。但編寫Flex3項目是我的首要任務。我在命令行上使用mxmlc進行編譯。我的項目由多個.as文件組成。 – Monokai 2010-06-20 13:18:39
我假設「path.to.your。預加載」標識某個類的吧?有沒有Adobe公司已經爲其中的共享庫是在那裏的主要瑞士法郎發現相同的地方被發現? – 2011-11-24 13:53:10