我有一个使用编译时间常量的AS3项目。这在FDT中工作得很好,并添加了如下编译器参数:
-define=CONFIG::buildver,"0.1"但是当尝试在使用ant脚本构建时复制此代码时:
<project name="ProjectName" default="compileMain" basedir=".">
<property file="build.properties" />
<target name="compileMain">
<exec executable="${mxmlc}">
<arg line='-define=CONFIG::testvar,"0.1"' />
<arg line="-source-path '${classesdir}'" />
<arg line="-library-path '${flex3libsdir}'" />
<arg line="-output '${bindir}/TestSwf.swf'" />
<arg line="-file-specs '${classesdir}/Test_Main.as'" />
</exec>
</target>
我得到“错误:配置值的初始化器必须是编译时间常量。”
我尝试过使用-define+=CONFIG,但得到了相同的响应。
有编译时间常量和ant经验的人有什么建议吗?
发布于 2012-06-30 01:33:23
我使用带有value属性的arg,并在每一行上使用交替的键/值。我不确定这是否是最佳实践(对我来说似乎相当粗制滥造),但我确实记得在几年前设置我的Ant脚本时,我尝试过一系列不同的选项,这就是我坚持下来的原因。
由于“Ain不坏,不修”的原则,我把它放在一边,两年多来我一直在愉快地使用它。
使用您的示例,它将如下所示:
<project name="ProjectName" default="compileMain" basedir=".">
<property file="build.properties" />
<target name="compileMain">
<exec executable="${mxmlc}">
<arg value="-define=CONFIG::testvar,0.1"/>
<arg value="-source-path"/>
<arg value="${classesdir}"/>
<arg value="-library-path"/>
<arg value="${flex3libsdir}"/>
<arg value="-output"/>
<arg value="${bindir}/TestSwf.swf"/>
<arg valye="-file-specs"/>
<arg value="${classesdir}/Test_Main.as"/>
</exec>
</target> 发布于 2012-06-28 15:51:56
我是这样使用它的:
<define name="CONFIG::LOGGING" value="false" />但是在<compc>中,所以不确定它是否能在exec中工作。但您可以尝试一下;)
https://stackoverflow.com/questions/11235700
复制相似问题