使用Flex SDK mxmlc解析组件库

Par*_*ppa 6 apache-flex mxml

我是Flex SDK的新手,并尝试使用Doug Mccune的CoverFlow小部件实现一个简单的项目.关于如何做到这一点的大部分文档都假设一个人正在使用Adobe的FlexBuilder产品,这是一个250美元的Eclipse插件,我宁愿避免购买.我遇到的问题只是让Doug的swc文件(他的组件库的二进制版本)被mxmlc(Flex SDK项目编译器)识别.我不断收到错误消息,例如

错误:无法解析为组件安装

错误:未找到类型或不是编译时常量:CoverFlow.

我也尝试过类型"VideoCoverFlow",因为我很确定这些类型是在Doug的lib中定义的.唉,我一直在搞清楚自己哪里出错了.

以下是我的mxml项目文件的全文,名为coverflow.mxml.

<?xml version="1.0" encoding="utf-8"?>

<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml"
    xmlns:local="*"
    height="100%"
    width="100%"
    layout="absolute">

    <local:CoverFlow
        id="CoverFlow"
        horizontalCenter="0"
        verticalCenter="0"
        borderThickness="10"
        borderColor="#FFFFFF"
        width="100%"/>

</mx:Application>
Run Code Online (Sandbox Code Playgroud)

我试图用以下命令编译它:

c:\flex_sdk_3\bin\mxmlc.exe -compiler.source-path=lib coverflow.mxml
Run Code Online (Sandbox Code Playgroud)

我也尝试将CoverFlow_lib.swc文件移动到与mxml文件相同的目录中,而不是使用source-path参数,但这似乎没有什么区别.

我很乐意去RTFM,如果有人能够如此友善地指出我正确的文档的方向.这里这里有相关的Stack Overflow问题.

谢谢!


更新:我已将构建命令更改为以下内容:

mxmlc -library-path+=lib coverflow.mxml
Run Code Online (Sandbox Code Playgroud)

我也尝试了以下方法:

mxmlc -library-path+=CoverFlow_lib.swc coverflow.mxml
Run Code Online (Sandbox Code Playgroud)

使用与mxml文件相同的目录中的swc文件.但是,我仍然遇到同样的错误.

这里还有一个视频显示了我正在尝试使用的相同库,但是在Flex Builder中.不幸的是,它没有显示如何使用mxmlc.

我也试过简单地剥离我的mxml,

<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml"
    xmlns:local="*" >

    <local:VideoCoverFlow />

</mx:Application>
Run Code Online (Sandbox Code Playgroud)

Jam*_*ett 9

以下是Adobe的mxmlc命令行工具文档的链接以及指向命令行选项参考直接链接.我也发现mxmlc -help list这是一个很好的起点.

正如另一张海报推荐的那样,你真的想用它library-path来添加包含swc文件的目录的路径.使用+ =运算符确保不覆盖以前的值

例如)

c:\flex_sdk_3\bin\mxmlc.exe -library-path+=lib coverflow.mxml
Run Code Online (Sandbox Code Playgroud)