使用flex sdk3.6的asdoc遇到的问题及解决方法

想要对一个组件项目导出asdoc。组件的sdk是3.6,但使用环境的是eclipse的Flex SDK 4.0 插件版本。

 

那么,进入3.6.0\bin, 输入 

 

asdoc -source-path E:\lib\myComp\src -doc-classes comp.MyComp

报错:

Error: '' is not a directory

 

需要从sdk3.4中复制asdoc文件夹到sdk3.6中。见附件。

如果从sdk4.5中复制的话,会报错:

 

Error: Could not create toplevel.xml: Cannot run program "E:\sdks\3.6.0\framewor

ks\..\asdoc\templates\asDocHelper.exe" (in directory "E:\sdks\3.6.0\frameworks\.

.\asdoc\templates"): CreateProcess error=2, ?????????

 

因为此项目中使用了第三方swc,还要添加-library-path E:\lib\myComp\libs\some.swc

否则会找不到swc中的类。

 

于是,输入以下命令:

asdoc -source-path E:\lib\ myComp \src -doc-classes comp.MyComp -library-path E:\lib\ myComp\libs\some.swc 

报错:

 

E:\lib\myComp\src\comp\MyComp.as(67): col: 33 E

rror: 找不到基类 VBox 的定义。

 

        public class  MyComp extends VBox

                                       ^

 

E:\lib\MyComp\src\comp\MyComp .as(478): col: 31

Error: 标记为 override 的方法必须覆盖另一方法。

 

                override protected function createChildren():void

                                            ^

 

看来使用的编译器还是4.x系列的。

 

 

最终成功的命令是:

 

asdoc -source-path E:\lib\MyComp\src -doc-classes comp.MyComp -library-path E:\lib\MyComp\libs\some.swc E:\sdks\3.6.0\frameworks\libs

 

项目中用到了FileReference的save()方法来保存为本地文件,但asdoc编译时报错,只有把这方法先注释掉。

 


另,在导出另一个项目时,遇到错误:
Error: Unable to transcode assets/images/i_layer.png.
[Embed(source="assets/images/widget/i_layer.png")]

之前的项目也使用了Embed嵌入png图片。对比一下,发现,之前的项目绑定的是public static var,没报错;这个项目是public var。 目前没想到解决办法。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值