mxmlc嵌入资产

时间:2011-06-08 12:00:04

标签: flex actionscript flex4 mxmlc

我正在尝试通过mxmlc以这种方式编译我的项目:

[prj_folder]\src>mxmlc mymxml.mxml -library-path+=../libs -sp+=..\assets

我得到了这样的错误:

[prj_folder]\src\view\controls\controlname.mxml(7): Error: Problem finding external st
ylesheet: assets/cssname.css
        <fx:Style source="assets/cssname.css"/>
  

[prj_folder] \ SRC \视图\常数\ Images.as(24):   col:3:错误:无法转码   assets / icons / icon1.png。

如何为编译器包含资产?

2 个答案:

答案 0 :(得分:6)

Flash Builder预处理文件。

对于像这样的目录结构:

projectdir/src/Main.mxml
projectdir/src/views/SomeView.mxml
projectdir/src/assets/MyImage.png

如果SomeView.mxml引用assets / MyImage.png,Flash Builder将允许这样做:

@Embed('assets/MyImage.png')

因为它被IDE预处理到/assets/MyImage.png,但是ant / maven + mxmlc不会这样做。

@Embed('/assets/MyImage.png')

适用于Flash Builder和mxmlc。

如果你使用这样的相对路径:

@Embed('../assets/MyImage.png')

尝试将其更改为此,看似奇怪:

@Embed('/../assets/MyImage.png')

领先/被转换为“我的src目录”,mxmlc从那里完成剩余的路径计算。

希望这有帮助。

答案 1 :(得分:0)

这是一个目录设置问题;不是编译器错误。而你实际上并没有嵌入资产;只是引用它们。

使用Flash Builder时,文件“assets / cssname.css”应该与主应用程序文件相关。我相信如果你使用命令行编译器会发生同样的情况。

您的源目录是否有资源子目录?里面有cssname.css文件吗?