MXMLC 增量编译不起作用
谷歌显示了这个问题的一些点击,但我从来没有找到解决方案。 总是只有少数人说“这对我有用”,问题就消失了。 我已经使用 mxmlc 的“-incremental=true”标志和
Failed to match the compile target with /export/vampire/build/Editor.swf.cache. The cache file will not be reused.
在第一次创建缓存之后的每次编译中,无论源文件是否被修改,我都会得到这个。
我已经检查了文件权限(没有期待任何东西 - 缓存文件和它正在检查的 swf 都是由 MXMLC 创建的):
-rw-rw-r-- 1 nathan nathan 3181508 2009-07-15 17:50 Editor.swf -rw-rw-r-- 1 nathan nathan 5756512 2009-07-15 17:50 Editor.swf.cache $ flex_sdk/bin/mxmlc -version Version 3.3.0 build 4852 $ uname -a Linux sargasso 2.6.24-19-generic #1 SMP Fri Jul 11 23:41:49 UTC 2008 i686 GNU/Linux Ubuntu 8.04
Google shows a couple of hits for this issue, but never a solution that I can find. It's always just a few other people saying "it works for me", and the issue dries up. I've tested both with the "-incremental=true" flag to mxmlc and with the <incremental>true</incremental> tag in my flex config.xml with the same result:
Failed to match the compile target with /export/vampire/build/Editor.swf.cache. The cache file will not be reused.
I get this on each compile after the first that creates the cache, whether the source files were modified or not.
I've checked file permissions (not expecting anything - the cache file and the swf it's checking against were both created by MXMLC to begin with):
-rw-rw-r-- 1 nathan nathan 3181508 2009-07-15 17:50 Editor.swf -rw-rw-r-- 1 nathan nathan 5756512 2009-07-15 17:50 Editor.swf.cache $ flex_sdk/bin/mxmlc -version Version 3.3.0 build 4852 $ uname -a Linux sargasso 2.6.24-19-generic #1 SMP Fri Jul 11 23:41:49 UTC 2008 i686 GNU/Linux Ubuntu 8.04
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看起来“无法匹配编译目标”错误是由 Flex 配置文件上更新的时间戳引起的。 即使配置文件未修改,只要时间戳比缓存文件上的时间戳新,mxmlc 就会丢弃旧的编译缓存并重新编译所有内容。 此误导性错误消息是您获得的所有信息。
It looks like the "Failed to match compile target" error is being caused by an updated timestamp on the flex config file. Even if the config file is unmodified, mxmlc will throw out the old compile cache and recompile everything as long as the timestamp is newer than that on the cache file. This misleading error message is all the info you get.