2xM*_*Max 6 apache-flex actionscript mxmlc flex4
我正在尝试通过mxmlc以这种方式编译我的项目:
[prj_folder]\src>mxmlc mymxml.mxml -library-path+=../libs -sp+=..\assets
Run Code Online (Sandbox Code Playgroud)
我得到这样的错误:
[prj_folder]\src\view\controls\controlname.mxml(7): Error: Problem finding external st
ylesheet: assets/cssname.css
<fx:Style source="assets/cssname.css"/>
Run Code Online (Sandbox Code Playgroud)
[prj_folder]\src\view\constants\Images.as(24):col:3:错误:无法转码assets/icons/icon1.png.
如何为编译器包含资产?
Flash Builder预处理文件.
对于像这样的目录结构:
projectdir/src/Main.mxml
projectdir/src/views/SomeView.mxml
projectdir/src/assets/MyImage.png
Run Code Online (Sandbox Code Playgroud)
如果SomeView.mxml引用assets/MyImage.png,Flash Builder将允许:
@Embed('assets/MyImage.png')
Run Code Online (Sandbox Code Playgroud)
因为它由IDE预处理到/assets/MyImage.png,但是ant/maven + mxmlc不会这样做.
@Embed('/assets/MyImage.png')
Run Code Online (Sandbox Code Playgroud)
适用于Flash Builder和mxmlc.
如果您使用这样的相对路径:
@Embed('../assets/MyImage.png')
Run Code Online (Sandbox Code Playgroud)
尝试将其更改为此,奇怪的是看起来像:
@Embed('/../assets/MyImage.png')
Run Code Online (Sandbox Code Playgroud)
领先/被转换为"我的src目录",并且mxmlc从那里完成路径计算的剩余部分.
希望这可以帮助.
这是目录设置问题;不是编译器错误。而且您实际上并没有嵌入资产;而是嵌入了资产。只是参考它们。
使用 Flash Builder 时,文件“assets/cssname.css”应相对于主应用程序文件。我相信如果您使用命令行编译器,也会发生同样的情况。
你的源目录有assets子目录吗?cssname.css 文件在里面吗?