gpt4 book ai didi

apache-flex - 如何在命令行上从源代码构建我的 Flex 库以便我可以对其进行 RSL?

转载 作者:行者123 更新时间:2023-12-04 02:40:16 27 4
gpt4 key购买 nike

问题是什么:我想使用 compc(命令行或 ant)从一些 actionscript 和 mxml 代码构建 .swc。现在,我的命令是这样的:

# compile src to .swc
FLEX_HOME="${FLEX_HOME:?'FLEX_HOME must be set'}"
PROJECT_DIR=$(unset CDPATH; cd `dirname $0`/..; pwd)
COMPC="${FLEX_HOME}/bin/compc"

"$COMPC" \
-source-path $PROJECT_DIR/src \
-include-sources $PROJECT_DIR/src \
-compiler.library-path "$FLEX_HOME/frameworks/libs" "$PROJECT_DIR/libs" "$HOME/projects/advanis/flex_libs/libs" \
-output $PROJECT_DIR/bin/myLibrary.swc

但是,当我使用它构建时,.swc catalog.xml 文件除了 $PROJECT_DIR/src 中的类之外,.swc 文件还包含来自依赖库和框架本身的类。我知道有可能不这样做,因为(例如)Cairngorm 库依赖于 flash 事件对象,但该对象不在 .swc 的 library.swf 在任何地方归档,或者无论如何我都相当确定。

如果有帮助,这是我的完整方案,也许有人可以告诉我为什么我会以错误的方式进行:

我有一个 Flash Builder 4 Flash 应用程序项目依赖于:

  • v3.4.1 SDK
  • FlexUnit 4,我有一对 .swc 文件,想要 RSL:
    • FlexUnit4_1.0.swc
    • flexunitextended.swc
  • Cairngorm 2.2.1,作为我想要 RSL 的 SWC
  • mock-as3,我只有它作为源,并且想使用上述说明构建一个可用的库
  • hamcrest-as3,我同时拥有源代码和二进制文件,并希望使用上述说明构建一个可用的库

当我将 FlexUnit、Cairngorm、mock-as3 和 hamcrest-as3 库设置为 RSL 库并将 .swf 位置设置为存在的内容时,出现运行时故障:

VerifyError: Error #1014: Class IMXMLObject could not be found.

这可能是库的顺序、mock-as3 库中内置的额外废话或其他原因的结果。 RSL swf 文件已优化,如果有差异,请使用以下命令:

optimizer -keep-as3-metadata="Bindable,Managed,ChangeEvent,NonCommittingChangeEvent,Transient" \
-input library.swf \
-output $swf_file

总之,这有点散,但大意是这样的:我到底如何将第三方.swc文件、第三方.swf文件、第三方源码包和我的项目组装成一个工作应用程序?

最佳答案

“compiler.library-path”参数使这些库链接到输出 SWF/SWC。要防止库被链接,请改用“compiler.external-library-path”参数。但是,请确保依赖项已链接到您的最终应用程序 SWF 或以其他方式加载(如 RSL)。

关于apache-flex - 如何在命令行上从源代码构建我的 Flex 库以便我可以对其进行 RSL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1601930/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com