Как указать SWC при создании SWF? - PullRequest
3 голосов
/ 07 июля 2010

Я реализовал несколько служебных классов во Flex, которые хочу использовать в нескольких проектах AIR.Я создал SWC, который содержит эти классы.Я работаю на машине с Linux и у меня нет FlashBuilder.Поэтому я использую инструменты SDK для командной строки compc и mxmlc.Моя проблема в том, что я не смог найти способ указать SWC при сборке отдельного проекта.Учебник предложил следующую команду: mxmlc -load-config /opt/flex/4.1.0/frameworks/air-config.xml -library-path=/path/to/utility.swc hello.mxml.Однако, используя это, я получаю ошибку hello.mxml: Error: Unable to locate specified base class 'mx.core.WindowedApplication' for component class 'hello'.Все работает нормально, если я перенесу весь код из SWC в один монолитный проект.Может кто-нибудь помочь мне здесь?Код для автономного проекта:

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" windowComplete="completeHandler();">
<mx:Script>
<![CDATA[
import com.example.Ext;
private function completeHandler():void
{
    var e: Ext = new Ext();
    e.hi();
}
]]>
</mx:Script>
<mx:Label text="Hello World" />
</mx:WindowedApplication>

Тип Ext содержится в utility.swc.

ОБНОВЛЕНИЕ: я исправил предыдущую ошибку.Командная строка должна была быть mxmlc -load-config /opt/flex/4.1.0/frameworks/air-config.xml -library-path+=/path/to/utility.swc hello.mxml.Это добавляет мой SWC к существующему пути к библиотеке, а не заменяет его.Однако у меня новая проблема.Теперь ошибка hello.mxml(10): Error: Type was not found or was not a compile-time constant: Ext. Я также вставляю код для utility.swc:

package com.example {
    public class Ext {
        public function Ext {
            // do something
        }   
        public function foo( ): void {
            return;
        }   
    }   
}

1 Ответ

1 голос
/ 07 июля 2010

Используйте -library-path+=/path/to/my.swc. Если вы используете = вместо +=, компилятор отбросит все библиотеки платформы, уже находящиеся в пути.

...