在Flex mxmlc编译器中使用“include-libraries”时可以使用相对路径吗?

时间:2009-05-14 17:45:24

标签: flex mxmlc

我试图强制将.swc中的所有类链接到我的Flex项目生成的SWF文件中。来自文档:

http://livedocs.adobe.com/flex/3/html/help.html?content=compilers_03.html

  

包含库[...]

     

将SWC文件中的所有类链接到生成的应用程序SWF文件,无论它们是否被使用。将此选项与library-path选项进行对比,该选项仅包括在编译时引用的那些类。要链接一个或多个类(无论是否使用它们而不是整个SWC文件),请使用includes选项。此选项通常用于指定资源包。

不幸的是,当我将.swc的绝对路径指定为参数时,这似乎只适用于我的Flex Builder项目。我的.swc位于“lib”目录中,该目录在我的Flex项目配置中添加为“SWC文件夹”。有没有人知道相对引用它的语法?

3 个答案:

答案 0 :(得分:2)

我总是使用:

mxmlc [...] -library-path + = lib / whatever / default / [...]

答案 1 :(得分:0)

如果您只讨论编译时,该信息位于项目目录的.actionScriptProperties文件中。

条目如下:

<libraryPath defaultLinkType="1">
  <libraryPathEntry kind="3" linkType="1" path="/OtherProjectInTheSameWorkspace/bin/LibName.swc" useDefaultLinkType="false"/>
  <libraryPathEntry kind="1" linkType="1" path="lib"/>
</libraryPath>

请注意,第二个libraryPathEntry是当前项目中lib /目录的相对路径。

如果SWC在自己的项目中,那么路径将相对于工作区的根目录开始。

干杯

答案 2 :(得分:0)

在src目录中使用flex config.xml文件。

如果您的mxml文件名为 project.mxml ,则配置文件应为 project-config.xml

这是FlexBuilder内置的编译器和mxmlc命令行编译器将尝试加载的默认名称。

这是一个示例配置文件,其中只包含您要询问的特定条目。但是,您可以添加到命令行中的任何内容都可以在config.xml文件中指定。

<?xml version="1.0" encoding="UTF-8"?>
<flex-config>
<compiler append="true">
        <include-libraries append="true">
            <library>libs/myLibrary.swc</library>
        </include-libraries>    
</compiler>
</flex-config>