我是Flex SDK的新手,并尝试使用
Doug Mccune’s CoverFlow小部件实现一个简单的项目.关于如何做到这一点的大部分文档都假设一个人正在使用Adobe的FlexBuilder产品,这是一个250美元的Eclipse插件,我宁愿避免购买.我遇到的问题只是让Doug的swc文件(他的组件库的二进制版本)被mxmlc(Flex SDK项目编译器)识别.我不断收到错误消息,例如
Error: Could not resolve to a component installation
和
Error: Type was not found or was not a compile-time constant: 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>
我试图用以下命令编译它:
c:\flex_sdk_3\bin\mxmlc.exe -compiler.source-path=lib coverflow.mxml
我也尝试将CoverFlow_lib.swc文件移动到与mxml文件相同的目录中,而不是使用source-path参数,但这似乎没有什么区别.
我很乐意去RTFM,如果有人能够如此友善地指出我正确的文档的方向.有相关的Stack Overflow问题here和here.
谢谢!
更新:我已将构建命令更改为以下内容:
mxmlc -library-path+=lib coverflow.mxml
我也尝试了以下方法:
mxmlc -library-path+=CoverFlow_lib.swc coverflow.mxml
使用与mxml文件相同的目录中的swc文件.但是,我仍然遇到同样的错误.
还有一个video here显示了我正在尝试使用的相同库,但是在Flex Builder中.不幸的是,它没有显示如何使用mxmlc.
我也试过简单地剥离我的mxml,
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:local="*" > <local:VideoCoverFlow /> </mx:Application>
解决方法
这是一个
link to the mxmlc command line tool docs from Adobe和
direct link to the command line options reference.我也发现mxmlc -help列表是一个很好的起点.
正如另一张海报推荐的那样,你真的想使用library-path来添加包含swc文件的目录的路径.使用=运算符可确保不覆盖以前的值
例如.)
c:\flex_sdk_3\bin\mxmlc.exe -library-path+=lib coverflow.mxml