alchemy /??lk?mi/
安装cygwin
http://www.cygwin.cn/site/install/
下载alchemy
到adobe下载alchemy_sdk_cygwin,解压目录不能在cygwin安装目录下面。假设 e:/alchemy。
配置
打开 $cygwinHome/etc/bash.bashrc文件,加入以下三行
source /cygdrive/e/alchemy/alchemy-setup
PATH=/cygdrive/e/alchemy/achacks:/cygdrive/e/sdk4/bin:$PATH
export PATH
运行cygwin
$ cd /cygdrive/e/alchemy
$ ./config
编辑alchemy/alchemy-setup文件,将#export ADL=/path/to/your/adl (or adl.exe)改为flex sdk路径
export ADL=/cygdrive/e/sdk4/bin/adl.exe
重启cygwin,输入
$ cd /cygdrive/e/alchemy/bin
$ ln -s llvm-stub llvm-stub.exe
测试
$ cd ../samples/stringecho/
$ alc-on; which gcc
$ gcc stringecho.c -O3 -Wall -swc -o stringecho.swc
编译没问题,生成stringecho.swc文件
flex builder中使用
导入swc到项目中
在类中
imp
public class EchoTest extends Sprite {
public function EchoTest() {
var loader:CLibInit = new CLibInit; // 必须
var lib:Object = loader.init(); // 新建c对象
trace(lib.echo("foo")); // 调用c对象的方法
}
}
相关api说明:
http://labs.adobe.com/wiki/index.php/Alchemy:Documentation:Developing_with_Alchemy:C_API
http://labs.adobe.com/wiki/index.php/Alchemy:Documentation:Developing_with_Alchemy:AS3_API
其他:在window下直接运行cygwin编译的程序需要将cygwin1.dll,cyggcc_s-1.dll,cygstdc++-6.dll 3个文件拷到 C:/WINDOWS/system32/下
评论