【问题标题】:app fails to compile with mxmlc command-line but works with flash builder IDE应用程序无法使用 mxmlc 命令行编译,但可以使用 flash builder IDE
【发布时间】:2011-08-10 10:42:20
【问题描述】:

我有这个 flex 应用程序(它是一个从 flash builder 创建的 flex 项目),当我从 IDE 构建它时它编译得很好。

当我从命令行通过 mxmlc 编译时编译失败。

我在 "flash-builder-installation"\sdks\"flex-ver"\bin\ 位置调用 mxmlc

mxml 文件是 test.mxml

我对任何自定义 swc 文件没有任何依赖关系。

编译时出现以下类型错误

错误:找不到类型或不是编译时常量:TouchEvent

错误:找不到类型或不是编译时常量:文件。

错误:找不到类型或不是编译时常量:FileStream

你能告诉我我在这里缺少什么吗?

谢谢,

【问题讨论】:

    标签: apache-flex mxmlc


    【解决方案1】:

    看起来您正在编译一个 AIR 应用程序。 AIR 应用程序与常规 Flex Web 应用程序略有不同。您需要使用amxmlc 而不是mxmlc,它是AIR 编译器。它与mxmlc 位于同一路径内。这将自动包含 AIR SWC 库。

    如果没有其他配置,可以使用最简单的命令行:

    flash-builder-installation"\sdks\"flex-ver"\bin\amxmlc myApp.mxml
    

    如果您需要语法方面的帮助,请尝试此页面的初学者:Air Compiler Help

    我意识到参考文献中提到了 Flex 3,但编译器和选项是相同的。要从命令行获取帮助,请尝试:

    flash-builder-installation"\sdks\"flex-ver"\bin\amxml --help
    

    【讨论】:

    • 奇怪,我以前从未见过。我们一直只在 Ant 构建中使用 mxmlc。 amxmlc 只是使用正确配置运行 mxmlc 的包装器吗?与标准编译器相比,使用它有什么优势吗?
    • 感谢您的意见。是的,这是一个 AIR 应用程序。
    • 您能否提供一个链接,指向 Flex SDK 中包含的所有二进制文件的良好参考?它们的用途、使用案例等。
    【解决方案2】:

    您忘记包含 Air SWC。它们会在您在 Flash Builder 中创建 Air 项目时自动添加,但如果使用命令行则需要手动包含它们。

    【讨论】:

    • ^^^ 他说的。您可以查看 FLEX_HOME/frameworks/air-config.xml 以查看它们用于编译器选项的内容。如果您还没有这样做,您可能希望使用 Ant 之类的工具从命令行构建(PS:该配置文件可以直接加载到 Ant 中)。
    猜你喜欢
    • 1970-01-01
    • 2012-12-22
    • 2010-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    • 1970-01-01
    • 2012-02-22
    相关资源
    最近更新 更多