gpt4 book ai didi

apache-flex - Flex条件编译-Flex库项目中是否可以进行条件编译?

转载 作者:行者123 更新时间:2023-12-02 21:50:12 24 4
gpt4 key购买 nike

使用 Flex,在使用条件编译的情况下创建了桌面和 Web 应用程序。它运行成功。现在,我希望拥有适用于桌面和 Web 的单个 swc 文件。因此创建了库项目来满足该条件。在flex库项目中使用条件编译时遇到许多问题,例如冲突变量名和重复函数等,而我在使用没有swc文件的flex项目时没有遇到过这些问题。

现在问题来了:是否可以在 Flex 库项目上进行条件编译?

最佳答案

编译 SWC 时,您可以通过在 -define 参数中传递编译常量来指定它们。但是,这将仅包括您使用该常量添加的任何代码 - 即您无法在包含 SWC 的项目中重置常量以获得不同的结果。

下面是用于创建 SWC 的 bat 文件的代码。将其复制到新文件中,并以扩展名 .bat 保存。根据需要替换文件路径。

@echo off

set flexroot=D:\Program Files\FlashDevelop\Tools\flexsdk\
set proj=D:\Dev\TestSWC\

cd %flexroot%bin\
compc.exe -source-path %proj%src -is %proj%src -optimize -define CONFIG::debug false -define CONFIG::release true -output %proj%bin\TestSWC.swc

pause

我用它来构建一个包含单个类的 SWC 文件,如下所示:

package  
{
public class TestClass
{

public function sayHello():void
{
CONFIG::debug
{
trace( "Hello debug" );
}
CONFIG::release
{
trace( "Hello release" );
}
}

}

}

然后,我创建了另一个项目,包含 SWC 并将 CONFIG::debug 标志设置为 true,并调用 sayHello() 函数。当 SWC 是使用 CONFIG::release 标志为 true 进行编译时,它跟踪了“Hello release”

关于apache-flex - Flex条件编译-Flex库项目中是否可以进行条件编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17062684/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com