c/c++がFlashで動くAlchemyをWindowsで

なんともすばらしいc/c++Flashで動くAlchemyWindowsでやってみました。
Alchemyのサイト
自分の環境

cygwinのインストール

Windows向けにはcygwin用のAlchemyが用意されています。
ってことでまずはcygwinをインストールします。
cygwinのインストールは簡単でsetup.exeから簡単にセットアップできます。
cygwinsetup.exe
Alchemyするのに必要なライブラリ(README.cygwinより)は

-perl
-java
-zip

っとのことなので、ポチポチ選択します。

perl    ⇒ perl
Devel   ⇒ gcc-g++
Archive ⇒ unzip
Archive ⇒ zip

AlchemySDKのインストール

次にAlchemySDKのダウンロードとセットアップ。
まずはAlchemySDKをダウンロードしてきます。
Download the Alchemy Toolkit for Cygwin on Windows (ZIP, 37.2 MB)
次にセットアップ
cygwinを起動し以下のコマンドを書きます。

$ unzip alchemy_sdk_darwin_p1_111708.zip -d AlchemySDK //解凍はWindows上でしといてもOK
$ cd AlchemySDK
$ ./config
$ source alchemy-setup
$ alc-on //逆はalc-off

Alchemyの使い方

とりあえずサンプルが用意されているのでそれを使用します。
コンパイル

$ gcc HelloFlash.c

実行

./a.exe

swcの作り方

gcc stringecho.c -Wall -swc -o stringecho.swc

stringecho.swcが作成されるのでここからは通常通りにFlexから使用できます。
以下のように配置すれば認識してくれます。

ソースはこんな感じ

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
     creationComplete="alchemyTest1()"
    >
<mx:Script>
<![CDATA[
import flash.display.Sprite;
import cmodule.stringecho.CLibInit;
public function alchemyTest1():void{
    var loader:CLibInit = new CLibInit;
    var lib:Object = loader.init();
    myText.text =lib.echo("foo");
}
]]>
</mx:Script>
<mx:Text id="myText"/>
</mx:Application>

来年はc/c++とpixel benderですなー。