使用Flex SDK mxmlc解析組件庫




(2)

如果它是一個SWC不應該使用庫路徑,而不是源路徑和引用SWC?

我是Flex SDK的新手,嘗試使用Doug Mccune的CoverFlow小部件來實現一個簡單的項目。 大部分關於如何做到這一點的文檔假定使用Adobe的FlexBuilder產品,這是一個250美元的Eclipse插件,我寧願避免購買。 我遇到的問題是簡單地獲取Doug的swc文件,這是他的組件庫的二進製版本,被Flex SDK項目編譯器mxmlc識別。 我不斷收到錯誤消息,如

錯誤:無法解析到組件安裝

錯誤:找不到類型或不是編譯時常量: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。 這里這裡有相關的堆棧溢出問題。

謝謝!

更新 :我已經將我的構建命令更改為以下內容:

mxmlc -library-path+=lib coverflow.mxml

我也嘗試了以下內容:

mxmlc -library-path+=CoverFlow_lib.swc coverflow.mxml

使用與mxml文件相同的目錄中的swc文件。 不過,我仍然得到相同的錯誤。

這裡還有一個視頻顯示了我正在嘗試使用的庫,但在Flex Builder中。 不幸的是,它不顯示如何使用mxmlc。

我也嘗試剝離我的mxml簡單地說,

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

    <local:VideoCoverFlow />

</mx:Application>

我終於得到了我的項目建設。 庫路徑的使用是解決方案的一部分,但我也不得不仔細看一下Doug Mccune庫的源代碼,以便我可以在我的mxml中使用正確的路徑信息和類型名稱。

獲勝的命令行是

mxmlc -library-path+=lib coverflow.mxml

而工作的MXML是

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

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

    <containers:CoverFlowContainer id="flow" />

</mx:Application

出於某種原因,我的容器抱怨,如果我使用id="coverflow" 。 我得到一個錯誤,說ID名稱和類型名稱是不允許相同的。 如果有人能向我解釋,我很想知道那裡發生了什麼。

再次感謝Simon和James的幫助。