SIHOのプログラミングわーくワク
興味の赴くままに勉強してたら、読み書きできる言語は9個になりました。他にもいくつか気になる言語があったりなかったり? まだまだ続く、楽しいお仕事わーくワク♪
FlashDevelop + GCC + C で ANEに初挑戦:HelloWorld
2013.07.26 (Fri)
Adobe Native Extension 、「ANE」。これを自在に作れるようになったら最強のAIR戦士になれるんです。
AIRなんで、もちろんAS3を使えることが大前提。
だが、それに加えて、各プラットフォームごとのNative言語が必要になります。
iOS/MacだとObjective-Cだし、AndroidだとJAVAだし、WindowsならC++もしくはC#。
で、とりあえずWindows環境においての最強のAIR戦士になるべく自主トレしてみた。
教科書:「FlashDevelop + GCCでANE入門」
http://rest-term.com/archives/2950/
■主な手順:
1)Dllつくる <<ここでは、Cで作っている。
2)SWCつくる
3)liblary.swfとりだす
4)ANEつくる
5)AIRから動かしてみる。
ほぼ、上記の記事のとおりで作れますが、この記事はコマンドラインベースで書かれているので、その辺の知識がないとそもそもビルドが通らなくて先に進めません。
注意:現在はオプションがひとつ必要になりました。
swc をacompcでビルドする時のオプションに「-swf-version 13 ^」も加えましょう。
あとは、頑張ってコマンドラインを打てばいけます。
記事を読み進めるために、必要だった参考記事たち。
GCCを使う方法:「gcc(MINGW版)をとりあえず使うには」
http://www3.u-toyama.ac.jp/kihara/pgm/gcc.html
環境変数の設定方法:「Windows 環境変数 Path の設定方法」
http://next.matrix.jp/20111224.html
※追記する際に「;」で区切るってのが超重要ですよ。
あと、コマンドラインのコマンドですが、記事中では、「cd」でディレクトリを変更して行っています。
例えば、dllをコンパイルする時のコマンドラインのコマンド文ですが、下記のように書かれています。
C:\Users\Ryo\workspace\HelloANE\src\ext>gcc -c hello.c
C:\Users\Ryo\workspace\HelloANE\src\ext>gcc -shared -o hello.dll hello.o FlashRuntimeExtensions.lib
cmd.exeを起動した直後のカレントディレクトリは「C:\Users\ユーザー名」なのでこの場合は「C:\Users\Ryo>」表示されていたはずです。
この状態から「cd C:\Users\Ryo\workspace\HelloANE\src\ext」と打ち込んだ結果、
カレントディレクトリが移動し、「C:\Users\Ryo\workspace\HelloANE\src\ext>」と表示されます。
記事はその状態から始まっていますので、カレントディレクトリがどこを示しているかをあわせてみながら読み進めましょう。
コマンドプロンプト入門:「炎のコマンドプロンプト入門」
http://www5f.biglobe.ne.jp/~ayum/command/001.html
コメント
WindowsのANEでは
Re: WindowsのANEでは
ほうほう。
http://ufcpp.net/study/csharp/sp2_generics.html
まだC++は初心者マークなので、アドバイスを参考にゾンビーさんにならないように頑張りまっす。
あと
別のDLLやC#側に実装しても呼んでくれないです。
Re: あと
>
> 別のDLLやC#側に実装しても呼んでくれないです。
!
超重要なポイントをありがとうございます!
C++初心者なのでマルチスレッドは無理っぽいですが、スレッドは使う予定なのでC++側で書きますー。
あー。やっぱり、その点でもC++はメリットがあるんですね。
やっぱり、かじるだけでもC++は勉強しておいた方がよさそうですねぇ。
上手くやらないとネイティブ側で参照掴んだまま、プロセスがゾンビになることがありますので。
まぁ、よっぽどアホタレな(Generics使わずにString[]にしてるとか)ことやらなければ大丈夫だと思いますが。