开发者

mxmlc embedding assets

I'm trying complie my project via mxmlc this way:

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

and i get such errors:

[prj_folder]\src\view\controls\controlname.mxml(7): Error: Problem finding external st
ylesheet: assets/cssn开发者_运维问答ame.css
        <fx:Style source="assets/cssname.css"/>

[prj_folder]\src\view\constants\Images.as(24): col: 3: Error: Unable to transcode assets/ icons/icon1.png.

how to include assets for the compiler?


Flash Builder preprocesses the files.

For a directory structure like this:

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

And if SomeView.mxml references assets/MyImage.png, Flash Builder will allow this:

@Embed('assets/MyImage.png')

because it is preprocessed to /assets/MyImage.png by the IDE, but ant/maven + mxmlc won't do that.

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

works for both Flash Builder and mxmlc.

If you are using a relative path like this:

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

try changing it to this, odd as it may seem:

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

The leading / gets translated to "my src directory", and mxmlc does the remainder of the path calculation from there.

Hope this helps.


This is a directory setup issue; not a compiler error. And you aren't actually embedding assets; just referencing them.

When using Flash Builder, the file "assets/cssname.css" should be relative to the main application file. I believe the same should occur if you're using the command line compiler.

Does your source directory have an assets subdirectory? Is the cssname.css file inside it?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜