Alchemy windows下安装

Alchemy 是adobe 推出的把C++代码编译成as3 字节码的开源项目,这对于开源爱好者和RIA开发者绝对是一个好消息,以后c++ 的开源工程都可以编译成as库来供RIA开发者使用了。不过现在Alchemy  发布的还是release beta 版,看网上评论对c++ 的语法好像有一些限制,具体还没有研究,目前只是才安装好Alchemy 。以后研究好了再和大家分享。

Alchemy  在windows下的安装是一件很麻烦的事情,需要在cygwin下安装。

在adobe 的网站上有一篇安装指南:

http://labs.adobe.com/wiki/index.php/Alchemy:Documentation:Getting_Started#Windows

个人觉得对cygwin很熟悉的人才能一次安装成功,对于不熟悉cygwin的人估计要废半天劲,因此我把我的安装过程记录下来,与大家分享。

首先我的机器是windows xp sp2, cygwin ,和flex sdk 安装在c盘根目录下面。

要安装Alchemy  ,首先需要安装cygwin 和flex sdk 3.2.

cygwin的下载地址:http://www.cygwin.com

安装cygwin的时候一定要选择

        Select Package这时,需要选择以下3个东西

               Archive 下面去选择安装 zip 

               Devel 下面去选择安装 gcc-g++ 

               Perl 目录,选择完全安装 (Install)

 

 

  • flex sdk  的下载地址为:http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3

    注意 要下载Adobe Flex SDK,这个sdk比较大,有100多M。

    Alchemy  的下载地址为:

    http://labs.adobe.com/technologies/alchemy/

    上面3个文件下载完后,我们就可以安装的。

     

    第一步:安装cygwin,cygwin默认安装在c盘根目录下。

    第二步:安装java,因为我的机器已经安装了java,所以略过此步。

    第三步:解压Adobe Flex SDK到c盘根目录,重命名为flex,注意flex目录下面为bin 等目录。

    第四步:解压Alchemy  到C盘根目录,重命名为Alchemy ,注意Alchemy目录下面直接为bin等目录。

    第五步:修改C:\cygwin\etc目录下的profile文件

    PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/cygdrive/c/flex/bin:$PATH
    将flex sdk 的bin目录加入到cygwin的path中。红色部分为新添加的。

    第六步,打开cygwin,切换到Alchemy  目录,Alchemy  目录路径为/cygdriver/c/alchemy。在cygwin中cd 是进入目录,cd  ..是返回到上级目录,关于bash的详细命令请用百度搜索一下。

    第七步:执行 ./config,并根据echo出来的提示,执行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:\cygwin\etc目录下bash.bashrc文件,在文件最后加入下面三行

    source /cygdrive/c/alchemy/alchemy-setup
    PATH=$ALCHEMY_HOME/achacks:/cygdrive/c/flex/bin:$PATH
    export PATH

    第十步: 打开C:\cygwin,切换到/cygdriver/c/alchemy/bin目录,执行下面的命令:

    ln -s llvm-stub llvm-stub.exe

    第十一步: 切换到/cygdriver/c/alchemy/samples/stringecho目录:

    执行which gcc
    然后执行:

    alc-on;gcc stringecho.c -O3 -Wall -swc -o stringecho.swc

    一定要按照上面的方式执行即alc-on命令和gcc stringecho.c -O3 -Wall -swc -o stringecho.swc命令一起执行,否则会报编译错误,不能正确的编译。

    在编译的过程中你会看到如下提示:

    $ gcc stringecho.c -O3 -Wall -swc -o stringecho.swc WARNING: While resolving call to function 'main' arguments were dropped! 2544.achacks.swf, 363806 bytes written frame. rate: 60 frame. count: 1 69 : 4 72 : 363736 76 : 33 1 : 0 0 : 0 frame. rate: 24 frame. count: 1 69 : 4 77 : 506 64 : 31 63 : 16 65 : 4 9 : 3 41 : 26 82 : 471 1 : 0 0 : 0 adding: catalog.xml (deflated 75%) adding: library.swf (deflated 61%) 

    至此,一个c文件就编译成了一个swc库,我们在as代码中就可以使用这个swc了。

  •  

    详细的配置过程见:http://labs.adobe.com/technologies/alchemy/
    使用Cygwin配置的时候碰到了几处麻烦。首先是路径设置问题,我直接把flex目录下的bin目录copy到了c盘。
    其次是编译时报错:


    [Compiler] Error #1063: Unable to open file: /cygdrive/c/Users/sascha/Applications/Alchemy/flashlibs/global.abc. 
    [Compiler] Error #1063: Unable to open file: /cygdrive/c/Users/sascha/Applications/Alchemy/flashlibs/playerglobal.abc. 



    需要修改alchemy目录里 hacks.pl 文件:
    把if ( `uname` = ~ / CYGWIN /) 改为if ( `/ bin / uname` = ~ / CYGWIN /

    要注意的是,不要把alchemy安装到cygwin的目录下。

    你可能感兴趣的:(C++,c,windows,Flex,C#)