PDA

Просмотр полной версии : Вопрос про swc


law
18.05.2011, 16:04
Есть 3 swf, которые используют одинаковые библиотеки.

Я выношу общие библиотеки в отдельный swc и хочу скомпилировать флеш файлы с ссылками на классы в swc.

Создание swc:
%flex_sdk_dir%\bin\compc.exe
-source-path "D:\..\src"
-output "D:\...\bin\test.swc"
-include-classes assets.Load assets.Button assets.Image assets.Images

Создаю swf:
%mxmlc%
-incremental=true
-benchmark=false
-static-link-runtime-shared-libraries=true
-library-path "D:\...\bin\test.swc"
-default-size %w% %h%
-output %out% -- %in%

Помогите понять какой вариант подключения библиотек правильный?
Компилить надо именно через консоль.

от wvxvw:

Но вообще есть всего 3 вида, как можно подключить библиотеку:
- полностьй встроить ( -il library.swc )
- встроить только то, что упомнинается в коде ( -l library.swc )
- встроить только упоминания о классах из библиотеки, но не сами классы - это нужно для реализации RSL ( -el library.swc ).

Нужно пользоваться поиском(
http://www.flasher.ru/forum/blog.php?b=317

wvxvw
18.05.2011, 21:07
-l (lowercase L) library.swf
External Libraries == Runtime Shared Libraries
Intrinsic Libraries - не знаю, что такое.

Но вообще есть всего 3 вида, как можно подключить библиотеку:
- полностьй встроить ( -il library.swc )
- встроить только то, что упомнинается в коде ( -l library.swc )
- встроить только упоминания о классах из библиотеки, но не сами классы - это нужно для реализации RSL ( -el library.swc ).

law
19.05.2011, 13:39
Если с флагом -el то вроде бы все хорошо) но классы не видны. Выпадает ошибка

[Fault] exception, information=VerifyError: Error #1014: Не удалось найти класс assets::Button.


файл catalog.xml из либы:
<?xml version="1.0" encoding ="utf-8"?>
<swc xmlns="http://www.adobe.com/flash/swccatalog/9">
<versions>
<swc version="1.2" />
<flex version="4.1.0" build="16076" minimumSupportedVersion="3.0.0" />
</versions>
<features>
<feature-script-deps />
<feature-files />
</features>
<libraries>
<library path="library.swf">
...
<script name="assets/Button" mod="1305207713606" signatureChecksum="686066425" >
<def id="assets:Button" />
<dep id="assets:Image" type="e" />
<dep id="assets:Image" type="s" />
<dep id="AS3" type="n" />
<dep id="flash.display:SimpleButton" type="i" />
</script>
...
</library>
</libraries>
<files>
</files>
</swc>


Пути указаны как абсолютные так что не должно быть проблем что эти либы не видны.