2010-03-09 24 views
1

我们有一个flex应用程序,使用mxmlc ant任务编译好的窗口框,但是当我们尝试在linux上运行相同的构建脚本时,它会抛出'样式表中的嵌入指令无效'错误表示它无法解析到图像文件的路径。Flex 3 css嵌入式在linux上运行“样式表中的嵌入指令无效”错误

有人可以请教。如果图像文件在CSS中查找的方式有所不同,文件,在Windows和Linux上。

Flex sdk版本是3.3。在windows和linux上都使用相同的sdk。不知道这是否已被任何未来的3.x sdks修复。

在此先感谢。

+0

你有这种情况吗? (区分大小写) – adamcodes 2010-03-09 21:51:51

+0

谢谢亚当,是的,我已经验证了正确的大小写的所有文件名。我们使用绝对路径引用css文件中的所有嵌入式图像(例如/assets/images/buttondown.png) – Tejas 2010-03-09 21:54:44

+0

这是绝对是样式表中路径的问题,而不是Ant文件中的路径(例如样式表)?我遇到的问题是跨平台的ant文件路径不一样(linux路径跨平台工作,windows跨平台工作) – mattbilson 2012-01-06 03:11:56

回答

0

我们在准备用ant任务构建项目时遇到类似的问题。我们正在linux下开发。在Flex构建器中,找到图像没有问题 - 只是添加了路径。与蚂蚁任务很好有问题。

通过将所有需要的图像复制到临时创建的src/images子目录解决了问题。然后编译器不再抱怨。生成后,蚂蚁正在删除我的临时目录。

0

昨天我遇到了这个问题。我使用的解决方案是简单地让ant临时将.css文件复制到src目录的根目录,以便在编译过程中嵌入路径相匹配。按照下面的脚本如何将当前的.css文件复制到“target.css”中:

<target name="compile css"> 

    <copy file="${css-dir}/${css}.css" 
      tofile="${resources}/target.css"/> 

    <java jar="${FLEX_HOME}/lib/mxmlc.jar" 
      fork="true" 
      failonerror="true" 
      > 

     <arg value="-debug=false"/> 
     <arg value="-optimize=true"/> 

     <arg value="+flexlib=${FLEX_HOME}/frameworks"/> 

     <arg value="${resources}/target.css"/> 
     <arg value="-output=${css-output}/${css-swf}.swf"/> 

     <arg line="${libraryPathArgumentLine}"/> 

     <arg value="-static-link-runtime-shared-libraries=true"/> 

    </java> 

    <delete file="${resources}/target.css"/> 
</target>