ANEからさんざん、Javaを起動する方法を探っていましたが、
何とか、ANE ( Windowsのみ )からJavaが起動できるようになりました。
とりあえずの完成のイメージとしては、
起動と終了のみをサポートするものとして作ろうと思っています。
JavaのJakarta daemonのjsvcみたいな感じです。

要は、AIRから、Javaを起動して内部で独自通信なりをしてもらう感じです。
こうすれば、ネットワーク側にJavaのアプリを必要だとしても、
AIRのパッケージに必要なjarを含めてしまえば、
ネットワークアプリを比較的簡単に、
ローカルアプリ、もしくは、ハイブリッドアプリとして作り替えられるのではないかと思っています。

近いうちに、デモっぽいANEを公開したいと思います。

さて、直接関係がありませんが、ここまでANEというか、
mingw32上で、Windows要のバイナリを構築するうえではまったことをまとめると・・・。

1) Fedora14、Mac OS X Lionsでmingw32をインストール
Mac のmingw32でもやっとできるようになりました。
環境変数のCFLAGSやLDFLAGSに “-arch i386” というのが設定されていたために、mingw32のgccコンパイラがそんなオプションをサポートしていないとエラー
結局、構築時にそれらの環境変数を上書きすれば、問題なくいけました。
また、libtoolを使ってDLLを作成するよりは、DLLの作成はMakefile内に記述してやった方が、すべてコントロールできるので楽でした。

2 ) aprのスタティックライブラリ版を自分でビルド
aprのdso関数が使いたかったのですが、そもそも、apr自体がdllで見つからないと、
非常に面倒なのでこのaprをスタティックライブラリを構築し、これを使って見ると・・・・

__imp__XXXXXX が見つからないとエラーになる。
理由)
__imp__ がつく関数は、dllexportがヘッダファイルに宣言されている場合になるらしい。
つまり、スタティックリンクするには、dllexportがつかないヘッダを使用する必要がある。
aprの場合、マクロでこの指定が動的になっているので、 -DAPR_DECLARE_STATICを指定する必要がある。
このあたりはapr.hファイルの中身をみるといい。

WindowsのVisual Studioで構築したスタティックライブラリを使うと、身に覚えにない関数が見つからないとエラーが起きる。
対応方法)
原因は不明。
Linux上で初めから、aprのWindows版で必要なソースを含めて、初めからMakefile.amを構築し、これで再作成。
これで、問題が出なくなった。

とまあ、覚え書き。
実際に試してみない人にはまったく、意味の無い情報ですし、
こんな面倒なことをせずに、すべてVisual Studio上でやってしまえば、
それで問題ないとも思えます。

お仕事のご依頼・相談を承ります
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら

Leave a Reply

お仕事のご依頼・相談
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら
ソフトウェア&ライブラリ




ライブラリ
airxmail(en)
AIR版メール送受信ライブラリ
airxzip
AIR版ZIP圧縮・解凍ライブラリ
執筆書籍
本、雑誌等

WEB記事:CodeZine
執筆記事はこちら
カレンダー
2012年3月
« 2月   4月 »
 1234
567891011
12131415161718
19202122232425
262728293031  

カスタム検索
RSS
Add to Google < !–adsense–>
アーカイブ
カテゴリ
にほんブログ村 IT技術ブログへ