我正在尝试通过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。
如何为编译器包含资产?
答案 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文件吗?