Compile with Flex4 SDK

I am trying to compile an existing Flex3 project using the Flex4 SDK. I receive this error:

Warning: This compilation unit does not have Frame metadata The factoryClass specified in the factoryClass to load the configured runtime shared library. To compile without the runtime shared library, please set the -static-link-runtime-shared-libraries option to true, or delete -runtime-shared-libraries option.

The generated file is roughly the same as the .swf file compiled by my original Flex3. Playing the generated .swf file in Flash Player will also cause the following error:

An Actionscript error occurred: VerifyError: Error #1014: Cannot find the class spark.core :: SpriteVisualElement

If I set the compiler property static-link-runtime-shared-libraries to true, Then the error will disappear and everything is fine. However, the resulting. SWF size is a few 100K as large. This is not what I want.

I don’t fully understand runtime sharing The concept of libraries, but it seems that by setting their static link option to true, these libraries are included in .swf. However, I like to exclude them from .swf and only load the required libraries at runtime, Because my project seems to be related to Flex3 (by the way, I don’t know).

If I understand correctly, playerglobal.swc should contain all the necessary code for external libraries that my .swf must load. Do Flex4 compiled files need more libraries? Should I do something with the factoryClass in the Frame metadata tag?

I think my question boils down to: How do I compile a Flex4 .swf that is the same size as the .swf compiled by the previous Flex3?

You must add [Frame(factoryClass = “path.to.your.preloader”)] Go to the main class (the class you set in the compiler options).

I am trying to compile an existing Flex3 project using the Flex4 SDK. I am getting this error:

Warning: This compilation unit does not have the factoryClass specified in the Frame metadata to load the configured runtime shared library​​. To compile without the runtime shared library​​, please -static Set the -link-runtime-shared-libraries option to true, or delete the -runtime-shared-libraries option.

The generated file is roughly the same as the .swf file compiled by my original Flex3. In Flash Player The following error occurs when playing the generated .swf file:

An Actionscript error occurs: VerifyError: Error #1014: Cannot find the class spark.core :: SpriteVisualElement

If I will compile The property static-link-runtime-shared-libraries is set to true, then the error will disappear and everything is fine. However, the resulting SWF size is several 100K. This is not what I want.

I don’t fully understand the concept of runtime shared libraries, but it seems that by setting their static link option to true, these libraries are included in .swf. However, I like to remove them from. Excluded in swf, and only load required libraries at runtime, because my project seems to be related to Flex3 (by the way, I don’t know).

If I understand correctly, playerglobal.swc should Contains all the necessary code for external libraries that my .swf must load. Do Flex4 compiled files need more libraries? Should I do something with the factoryClass in the Frame metadata tag?

I think my question boils down to: How do I compile a Flex4 .swf that is the same size as the .swf compiled by the previous Flex3?

You must add [Frame(factoryClass = “path.to.your.preloader”)] to the main class (the one you set in the compiler options Class).

Leave a Comment

Your email address will not be published.