1

次のような mxmlc のカスタム flex-config.xml と条件付きコンパイル ディレクティブを含む 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 ++でそれを行うことができますか?

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

最後に、runningjava -jar $FLASCC_HOME/sdk/usr/lib/asc2.jarは、それが取る引数の 1 つが

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

したがって、これを行うことができるはずです:

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

残念ながら、フラグは実際には asc.jar (!) に到達しますが、(2 つではなく) 1 つの引数として渡されているように見えるため、エラーが発生します。によって必要とされるスペースは、-config物事を台無しにしています。

回避策は、引数の 2 つの部分を別々に渡すことです。

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

于 2012-12-18T21:28:09.120 に答える