alchemy 配置教程
Alchemy3D是一款基于Adobe Alchemy技术的Flash 3D引擎,以下是其基本的开发环境:
Cygwin + Adobe Alchemy Toolkit + Flash Builder + Flex SDK
一、安装Cygwin
http://www.cygwin.com/setup.exe 下载Cygwin
之后一路默认到选package的地方,注意几个地方:
1.是位置,Archive下的zip包,Devel下的gcc / g++ ,Perl全要下.
2.是Perl那个在文件外面点成install就可以了,不用展开来一个个选中了
二、下载Alchemy
到http://labs.adobe.com/downloads/alchemy.html下载Alchemy Toolkit
三、下载Flex SDK
不解解释,大家都装了的
四、配置环境
到 www.java.com 去下载JAVA虚拟机,机器已经安装了java,可略过此步。
解压Adobe Flex SDK到c盘根目录,重命名为flex,注意flex目录下面为bin 等目录。
解压Alchemy 到C盘根目录,重命名为Alchemy ,注意Alchemy目录下面直接为bin等目录。
修改C:cygwinetc目录下的profile文件,将flex sdk 的bin目录加入到cygwin的path中。
像这样
PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/cygdrive/c/flex/bin:$PATH
红色部分为新添加的。
打开cygwin,切换到Alchemy 目录,Alchemy 目录路径为/cygdriver/c/alchemy。
在cygwin中cd 是进入目录,cd ..是返回到上级目录,关于bash的详细命令请用百度搜索一下。
执行 ./config,并根据echo出来的提示,输入下面这句代码再回车(不在cygwin里输入下面这句的话,后面输入alc-on;w;会提示alc-on command not found)
source /cygdrive/c/alchemy/alchemy-setup
关闭cygwin。
编辑C:alchemy目录下的alchemy-setup文件(这个文件是执行./config命令新生成的)
将#export ADL=/path/to/fyou/bin/adl (or adl.exe)一句修改成export ADL=/cygdrive/c/flex/bin/adl.exe,注意去掉#注释符
编辑C:cygwinetc目录下bash.bashrc文件,在文件最后加入下面三行(一定要拿ue编辑器打开,然后把文件中所有文字最后面的那个换行符复制上,粘贴到下面前两行的末尾)
source /cygdrive/c/alchemy/alchemy-setup
PATH=$ALCHEMY_HOME/achacks:/cygdrive/c/flex/bin:$PATH
export PATH
打开C:cygwin,切换到/cygdriver/c/alchemy/bin目录,执行下面的命令:(可能会提示 创建失败llvm-stub.exe已存在,这个不用理他)
ln -s llvm-stub llvm-stub.exe
执行
alc-on;
which gcc
切换到c的工程目录然后执行(当然你可以用Adobe提供的sample进行测试,目录在/cygdriver/c/alchemy/samples/stringecho):
执行
gcc -O3 -Wall -swc stringecho.c -o stringecho.swc
如果成功的话,会看到这两行
$ gcc stringecho.c -O3 -Wall -swc -o stringecho.swc
WARNING: While resolving call to function 'main' arguments were dropped!
结果还有这个:
[Compiler] Error #1063: Unable to open file: /cygdrive/c/alchemy/flashlibs/global.abc.
[Compiler] Error #1063: Unable to open file: /cygdrive/c/alchemy/flashlibs/playerglobal.abc.
生成的swc也明显不对才几k,查了下还要改个地方:
http://forums.adobe.com/thread/201580
打开alchemyachacks下hacks.pl
if(uname
=~ /CYGWIN/)
改成
if (/bin/uname
=~ /CYGWIN/)
再执行刚才的gcc那行,就成功了。
本文转自jiahuafu博客园博客,原文链接http://www.cnblogs.com/jiahuafu/archive/2011/04/07/2008601.html如需转载请自行联系原作者
jiahuafu