【问题标题】:as3 conditional compiling with flasccas3 使用 flascc 进行条件编译
【发布时间】:2012-12-14 03:50:14
【问题描述】:

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

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

我如何使用 flascc g++ 做到这一点?

【问题讨论】:

  • 我发现的唯一方法是先通过 asc 生成 abc

标签: actionscript-3 mxmlc conditional-compilation flascc


【解决方案1】:

FlasCC 的 gcc 的 docs 表示

-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 需要的空间搞砸了。

workaround 是分别传递两个arg:

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

【讨论】:

  • 顺便说一句,如果你所追求的实际上是条件编译 in C 那么你总是可以做-DFOO=BAR
猜你喜欢
  • 2019-01-30
  • 1970-01-01
  • 1970-01-01
  • 2013-03-01
  • 2021-10-11
  • 2011-03-27
  • 1970-01-01
  • 1970-01-01
  • 2017-02-08
相关资源
最近更新 更多