如何使用compc构建一个动态链接Flex组件的swc?

时间:2012-06-14 15:11:29

标签: flex flex3 flash-builder swc compc

在Flash Builder 4.6中,在管理Flex项目时,在Flex库项目的“构建路径”选项下,我可以在“外部”和“合并到代码”框架链接之间进行选择,“外部”是默认值。< / p>

直接调用compc时如何使用外部链接?

默认情况下,compc将Flex组件放在library-path部分而不是external-library-path部分(查看生成的-dump-config文件)。

似乎Flash Builder中可用的选项应该通过compc上的某个选项或通过某些参数组合来访问。我查看了compc选项文档,不幸的是,它已经空了。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

首先看一下flex-config.xml文件。你会在[flex_sdk_path]/frameworks/flex-config.xml找到它。现在找到名为runtime-shared-library-path的节点。在这里,您将找到使用compc编译时将合并的所有库的列表(节点称为runtime-shared-library-path,因为当您使用mxmlc时,RSL是默认链接)。这些是您需要外部链接的文件。

您有两种选择:

  1. 创建您自己的配置文件,将所有runtime-shared-library-path个节点转换为external-library-path个节点。通过将-load-config=my-config.xml添加到编译器命令来加载此文件而不是默认文件。
  2. 保留默认配置文件,但覆盖与命令选项的链接。只需将每个swc添加到外部库路径:-external-library-path+=libs/framework.swc,依此类推。
  3. 使用mxmlc编译应用程序时,默认链接是RSL。您可能也想覆盖它并使其“合并”。在这种情况下,您首先必须重置RSL路径:-runtime-shared-library-path=(这是正确的,=之后没有任何内容)。然后将每个swc添加到-library-path:-library-path+=libs/framework.swc


    或者(警告!在途中无耻的自我推销),您可以使用名为GradleFx的构建工具。如果您使用以下行创建构建文件:

    type = 'swc'
    

    它将使用外部链接的框架编译您的库。如果需要,您可以覆盖此默认值:

    type = 'swc'
    frameworkLinkage = 'merged'