FlexBuilder4でカスタムのswcライブラリをRSLとして使用するには?
メインプログラムのサイズを小さくするためや、LGPLなライブラリを使用するためなどの理由(LGPLは動的リンクならソース公開の義務がないため)で、FPのRSL(Runtime Shared Library)機能を使いたい場合がある。
ライブラリはメインプログラムにマージすることばかりだったので今まで気づかなかったのだけれど、FlexBuilder4のプロジェクトを作ると自動的にできるlibsフォルダに配置したswcファイル(ライブラリ)はRSL化できないようだ。「コードにマージされます」か「外部」しか選択できないから。
そこで、
1. プロジェクトに「rsl」などという適当なフォルダを作る
2. そこにRSL化したいswcを配置
3. 「プロジェクト」>「プロパティー」>「Flexビルドパス」>「ライブラリパス」と移動
4. 「SWCの追加」でswcを追加
5. 追加したswcのツリーを開く
6. 「リンクタイプ」をクリック
7. 「編集」
8. 「リンクタイプ」を「ランタイム共有ライブラリ(RSL)」に変更
するとbin-debugフォルダに追加したswcがswfと拡張子が変更されてコピーされる。swcとswfのバイト数を比較してみたら、若干swfの方が小さかったので、自動的に何らかの変換が行われる模様。
とにかく、これでswcをRSLとして動作させることができた。
ライブラリはメインプログラムにマージすることばかりだったので今まで気づかなかったのだけれど、FlexBuilder4のプロジェクトを作ると自動的にできるlibsフォルダに配置したswcファイル(ライブラリ)はRSL化できないようだ。「コードにマージされます」か「外部」しか選択できないから。
そこで、
1. プロジェクトに「rsl」などという適当なフォルダを作る
2. そこにRSL化したいswcを配置
3. 「プロジェクト」>「プロパティー」>「Flexビルドパス」>「ライブラリパス」と移動
4. 「SWCの追加」でswcを追加
5. 追加したswcのツリーを開く
6. 「リンクタイプ」をクリック
7. 「編集」
8. 「リンクタイプ」を「ランタイム共有ライブラリ(RSL)」に変更
するとbin-debugフォルダに追加したswcがswfと拡張子が変更されてコピーされる。swcとswfのバイト数を比較してみたら、若干swfの方が小さかったので、自動的に何らかの変換が行われる模様。
とにかく、これでswcをRSLとして動作させることができた。
コメント
コメントを投稿