Flash で使用するために Adobe Alchemy を使用して FLAC エンコーダーを移植しようとしていますが、問題の場所がわかりません。
Windows で Cygwin 用の Alchemy を使用しています。適切にインストールおよび構成されています。
FLACエンコーダーを移植するために私が従った手順は次のとおりです。
- FLAC ソースの最新バージョン (1.2.1) をダウンロードします。
./configure --enable-static=true --enable-shared=false
Alchemy を有効にしてFLAC ソースを構成する ( ) (alc-on
構成前)- alchemy を有効にして libFLAC をコンパイルします (
make
src/libFLAC フォルダー内)。 - ヘッダー ファイルとコンパイル済みスタティック ライブラリ (libFLAC.a) を alchemy フォルダー (それぞれ ${ACLHEMY_HOME}/usr/local/include と ${ACLHEMY_HOME}/usr/local/lib) にコピーします。
- 最後に、次のように SWC をコンパイルします
。
gcc encodeflac.c -O3 -Wall -swc -lFLAC -o encodeflac.swc
gcc encodeflac.c -O3 -Wall -swc -lflac -o encodeflac.swc
encodeflac.c は、FLAC ソース (examples/c/encode/file/main.c) に含まれる example の修正バージョンであり、ActionScript ByteArray で動作するように採用されています。
swc は、警告やエラーなしでコンパイルされます。しかし、最終的な swc のサイズはわずか 85kb ですが、スタティック ライブラリのサイズ (libFLAC.a) は約 1mb です。また、エンコーディングが機能していません。AS で使用しようとすると、次のエラーが表示されます:
スタティック ライブラリが swc に含まれていないということですか? なんで?
[Fault] exception, information=Undefined sym: FLAC_stream_encoder_new
前もって感謝します。