1

我有 as3 项目,其中包含自定义 flex-config.xml 和 mxmlc 的条件编译指令,如下所示:

<define append="true">
  <name>CONFIG::DEBUG</name>
  <value>true</value>
</define>
<define append="true">
  <name>CONFIG::RELEASE</name>
  <value>false</value>
</define>

我怎么能用 flascc g++ 做到这一点?

4

1 回答 1

2

FlasCC 的 gcc文档

-fllvm-llc-opt= Pass an argument through to the final invocation of llc (LLVM-IR->ABC codegen).

在运行$FLASCC_HOME/usr/bin/llc --help节目时

-ascopt=<asc options> - Extra options to pass to ASC when compiling ActionScript

最后,运行java -jar $FLASCC_HOME/sdk/usr/lib/asc2.jar表明它需要的参数之一是

[-config <ns::name=value>]

所以看起来我们应该能够做到这一点:

gcc ... -fllvm-llc-opt="-ascopt=-config CONFIG::RELEASE=true"

不幸的是,虽然该标志确实将其传递给 asc.jar (!),但它似乎是作为一个参数(而不是两个)传递的,因此它会出错。所需的空间-config把事情搞砸了。

解决方法是分别传递两个arg:

gcc ... -fllvm-llc-opt=-ascopt=-config -fllvm-llc-opt=-ascopt=CONFIG::RELEASE=true

于 2012-12-18T21:28:09.120 回答