Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex Compc(Actionscript库编译器)不';除非我先删除文件,否则不会失败吗?_Apache Flex_Flash_Actionscript_Mxml_Compc - Fatal编程技术网

Apache flex Compc(Actionscript库编译器)不';除非我先删除文件,否则不会失败吗?

Apache flex Compc(Actionscript库编译器)不';除非我先删除文件,否则不会失败吗?,apache-flex,flash,actionscript,mxml,compc,Apache Flex,Flash,Actionscript,Mxml,Compc,下面是一个场景:我在一个源目录上运行compc,在一些更改之后重新编译一个已经存在的库,这将成功完成。然后我删除库(swc文件)并重新编译,这会导致抛出许多错误 在此期间没有任何变化——显然,这应该是两次成功还是两次失败 libs/pv3ddebug $ compc -library-path+=.. -source-path=./src -compiler.optimize -include-sources+=./src -output ../pv3ddebug.swc Loading con

下面是一个场景:我在一个源目录上运行compc,在一些更改之后重新编译一个已经存在的库,这将成功完成。然后我删除库(swc文件)并重新编译,这会导致抛出许多错误

在此期间没有任何变化——显然,这应该是两次成功还是两次失败

libs/pv3ddebug $ compc -library-path+=.. -source-path=./src -compiler.optimize -include-sources+=./src -output ../pv3ddebug.swc
Loading configuration file /Users/bill/flex_sdk_3/frameworks/flex-config.xml
/Users/bill/lg/vision/libs/pv3ddebug.swc (152944 bytes)

/libs/pv3ddebug $ rm ../pv3ddebug.swc 

/libs/pv3ddebug $ compc -library-path+=.. -source-path=./src -compiler.optimize -include-sources+=./src -output ../pv3ddebug.swc
Loading configuration file /Users/bill/flex_sdk_3/frameworks/flex-config.xml
/Users/bill/lg/vision/libs/pv3ddebug/src/com/phenomblue/pv3ddebug/PV3DDebug.as(45): col: 34 Error: Type was not found or was not a compile-time constant: AdvancedView.

                public function PV3DDebug(view:AdvancedView)
                                               ^
... more errors follow
我想我已经发现了错误发生的原因,并且可以纠正它们,但是我对第一次编译没有失败感到不安

我有一个理论:

  • pv3ddebug所依赖的库A是正确的
  • pv3ddebug已成功编译(并且已正确编译)
  • 库A处于无法使用pv3ddebug编译的状态
  • pv3ddebug编译成功,但编译错误,因为compc没有注意到A已更新为失败状态
  • 删除pv3ddebug然后重新编译导致compc尝试使用新的A进行编译,因此编译失败

  • 我的问题是:步骤4是一个bug吗?这是我应该预料到的缓存行为,还是可以通过编译器开关进行更改?有什么事情是我的理论无法解释的吗?

    你可以试试-incremental=false。这应该是命令行编译器的默认设置,但您所描述的内容听起来好像已启用。

    该错误已被修复,但一些实验表明,这应该可以像一个魅力一样工作!太好了,非常感谢。我查看了那个参数列表十几次,都没有真正看到那个开关。我还注意到增量编译中类似的奇怪问题。我认为compc编译器只是有缺陷。